keil uvision3宏定义怎么没用 #define uint unsigned int #define uchar unsigned char
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil uvision3宏定义怎么没用 #define uint unsigned int #define uchar unsigned char相关的知识,希望对你有一定的参考价值。
#define uint unsigned int
#define uchar unsigned char
编译的时候没有提示这两句有错,但是后面却不能用uint和uchar。为什么在keil中就相当于没写一样,而且后面的unsigned和int都没有变色。到底怎么回事
1.就是前面声明了uint ,后面肯定是可以利用的。
2.这种表达形式#define uchar unsigned char后面的关键字确实不变色。因为编辑器将#defined后当作文本处理了。追问
就是后面用不了uint啊,所以很郁闷。是不是跟软件的安装有关呢
追答不是吧,你把你用的方法贴上来看看。
通常
#define uint unsigned int
uint a= 0x1234;
delay (uint i);
等等,都是可以的
比如一个很简单的程序
#include
#define uint unsigned int ;
sbit p1=P1^0;
void delay ();
void main()
while(1)
p1=0;
delay();
p1=1;
delay();
void delay()
unsigned int x,y;
for(x=1000;x>0;x--)
for(y=300;y>0;y--);
编译后提示在图片上。
这是不是软件安装的问题呢?
#define uint unsigned int ;
这句后面不能有分号
#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 编译后无错误,无警告。 参考技术B 出错是因为你没加“;”号
以上是关于keil uvision3宏定义怎么没用 #define uint unsigned int #define uchar unsigned char的主要内容,如果未能解决你的问题,请参考以下文章