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都没有变色。到底怎么回事
展开
 我来答
百度网友9b702d8
推荐于2017-09-24 · 知道合伙人IT服务行家
百度网友9b702d8
知道合伙人IT服务行家
采纳数:254 获赞数:1568
计算机技术与软件资格嵌入式系统设计师

向TA提问 私信TA
展开全部
这样描述是对的。有两点要说明一下。
1.就是前面声明了uint ,后面肯定是可以利用的。
2.这种表达形式#define uchar unsigned char后面的关键字确实不变色。因为编辑器将#defined后当作文本处理了。
更多追问追答
追问
就是后面用不了uint啊,所以很郁闷。是不是跟软件的安装有关呢
追答
不是吧,你把你用的方法贴上来看看。
通常
#define uint unsigned int
uint a= 0x1234;
delay (uint i);
等等,都是可以的
osh3lzfp9
2011-04-25 · TA获得超过1129个赞
知道小有建树答主
回答量:1332
采纳率:0%
帮助的人:813万
展开全部
#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 编译后无错误,无警告。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神的可以啊啊
2011-04-28
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
出错是因为你没加“;”号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式