keil uvision3宏定义怎么没用 #define uint unsigned int #define uchar unsigned char
#defineuintunsignedint#defineucharunsignedchar编译的时候没有提示这两句有错,但是后面却不能用uint和uchar。为什么在k...
#define uint unsigned int
#define uchar unsigned char
编译的时候没有提示这两句有错,但是后面却不能用uint和uchar。为什么在keil中就相当于没写一样,而且后面的unsigned和int都没有变色。到底怎么回事 展开
#define uchar unsigned char
编译的时候没有提示这两句有错,但是后面却不能用uint和uchar。为什么在keil中就相当于没写一样,而且后面的unsigned和int都没有变色。到底怎么回事 展开
3个回答
推荐于2017-09-24 · 知道合伙人IT服务行家
关注
展开全部
这样描述是对的。有两点要说明一下。
1.就是前面声明了uint ,后面肯定是可以利用的。
2.这种表达形式#define uchar unsigned char后面的关键字确实不变色。因为编辑器将#defined后当作文本处理了。
1.就是前面声明了uint ,后面肯定是可以利用的。
2.这种表达形式#define uchar unsigned char后面的关键字确实不变色。因为编辑器将#defined后当作文本处理了。
更多追问追答
追问
就是后面用不了uint啊,所以很郁闷。是不是跟软件的安装有关呢
追答
不是吧,你把你用的方法贴上来看看。
通常
#define uint unsigned int
uint a= 0x1234;
delay (uint i);
等等,都是可以的
展开全部
#include <reg52.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
void delay_50ms(uint t)
{ uint j;
for(;t>0;t--)
for(j=6245;j>0;j--);} //延时函数
void main()
{
uchar i,key;
i=0; //
while(1)
{
P3=0Xff; //这是为了定位停下就是遇到P3^3==P3^2==0就查遇到几次用开关控制次数
if(P3^3==P3^2 && P3^3==0)
{
i=0; //
i=i++;
P0=0X11;
P3=key;
delay_50ms(20);
switch(key)
{
case 0xf1:i=1;P0=0X00;break;
case 0xe9:i=2;P0=0X00;break;
case 0xd9:i=3;P0=0X00;break;
case 0xb9:i=4;P0=0X00;break;
default:break;}
}
else
EA=1;
EX0=1;
EX1=1;
IT0=0;
IT1=0;
P0=0X11;
}
}
void int0 () interrupt 0 //0号中断函数,当int0为低电平或有一下降沿信号时触发,转弯有的一个发动机不转另一个转
{
P0=0x01;
}
void int2 () interrupt 2 // 2号中断函数,
{
P0=0x10;
}
经keil 编译后无错误,无警告。
#define uchar unsigned char //宏定义
#define uint unsigned int
void delay_50ms(uint t)
{ uint j;
for(;t>0;t--)
for(j=6245;j>0;j--);} //延时函数
void main()
{
uchar i,key;
i=0; //
while(1)
{
P3=0Xff; //这是为了定位停下就是遇到P3^3==P3^2==0就查遇到几次用开关控制次数
if(P3^3==P3^2 && P3^3==0)
{
i=0; //
i=i++;
P0=0X11;
P3=key;
delay_50ms(20);
switch(key)
{
case 0xf1:i=1;P0=0X00;break;
case 0xe9:i=2;P0=0X00;break;
case 0xd9:i=3;P0=0X00;break;
case 0xb9:i=4;P0=0X00;break;
default:break;}
}
else
EA=1;
EX0=1;
EX1=1;
IT0=0;
IT1=0;
P0=0X11;
}
}
void int0 () interrupt 0 //0号中断函数,当int0为低电平或有一下降沿信号时触发,转弯有的一个发动机不转另一个转
{
P0=0x01;
}
void int2 () interrupt 2 // 2号中断函数,
{
P0=0x10;
}
经keil 编译后无错误,无警告。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询