【keil】函数问题
/********************************************************************************;二进制...
/********************************************************************************; 二进制加法试验 *; p1口八个灯作二进制加法。理解二进值的计算 *; 硬件连接:p1口8路指示灯 *; *;* 描述: *; p1口八个灯作二进制加法。理解二进值的计算 *;* 连接方法: JP11(P1)和J12(LED灯) 用8PIN排线连接起来 **********************************************************************************/#include <reg52.h>#include <intrins.h>sbit LED0 = P0^0 ;sbit LED1 = P0^1 ;sbit LED2 = P0^2 ;void delay1s(); //声明延时函数main(){
P0 = 0x2; unsigned char Num = 0xff; //提示有错误; 把这句话放在P0前就可以编译 为什么啊 while (1) { P1 = Num; delay1s(); //延时函数 Num--; } }/*******延时函数*************/void delay1s(void) //误差 0us{ unsigned char a,b,c; for(c=167;c>0;c--) for(b=171;b>0;b--) for(a=16;a>0;a--); _nop_(); //if Keil,require use intrins.h}
unsigned char Num = 0xff; //这句话放在那里的问题 展开
P0 = 0x2; unsigned char Num = 0xff; //提示有错误; 把这句话放在P0前就可以编译 为什么啊 while (1) { P1 = Num; delay1s(); //延时函数 Num--; } }/*******延时函数*************/void delay1s(void) //误差 0us{ unsigned char a,b,c; for(c=167;c>0;c--) for(b=171;b>0;b--) for(a=16;a>0;a--); _nop_(); //if Keil,require use intrins.h}
unsigned char Num = 0xff; //这句话放在那里的问题 展开
展开全部
KEIL使用的是较老的C语言版本(具体哪个版本我忘了),这个版本中,必须把变量的定义放在实际的逻辑执行语句之前,否则就会报错。
你的错都是不了解C语言版本规范引起的,不用纠结。你程序如果是在VC中就不会报错了。
你的错都是不了解C语言版本规范引起的,不用纠结。你程序如果是在VC中就不会报错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询