关于单片机外部中断的一个小程序出错,求解

嵌入式小侠 2012-07-15 10:26:30

#include<reg52.h>
#include<intrins.h>
sbit beep=P2^3;
void delay()
{
unsigned char i=255,j=150;
while(i--)
while(j--);
}
void main()
{
TCON=0X01;
EX0=1;
EA=1; //IE=0x81;
unsigned char LED=0xfe;
P2=LED;
while(1)
{
delay();
LED=_cror_(LED,1);
P2=LED;
}
}
void exter0() interrupt 0
{
beep=0;
delay();
beep=1;
delay();
}
1.c(15): error C141: syntax error near 'unsigned'
1.c(15): error C202: 'LED': undefined identifier
1.c(16): error C202: 'LED': undefined identifier
1.c(20): error C202: 'LED': undefined identifier
1.c(21): error C202: 'LED': undefined identifier
Target not created
...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangweiping2011 2012-07-15
  • 打赏
  • 举报
回复
你应该把定义的unsigned char LED=0xfe;这句放在main中的第一句
void main()
{ unsigned char LED=0xfe;
TCON=0X01;
EX0=1;
EA=1; //IE=0x81;

P2=LED;
while(1)
{
delay();
LED=_cror_(LED,1);
P2=LED;
}
}
嵌入式小侠 2012-07-15
  • 打赏
  • 举报
回复
一语惊醒梦中人啊,谢谢三楼指点。
pathuang68 2012-07-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

好了,太感谢了,不过能在解释一下为什么吗?
[/Quote]

对于偏向底层的(单片机)C语言代码,一定要函数的开始处定义变量,通常不能像台式机上开发C++程序那样可以在程序的任何需要的地方声明或定义一个变量。
嵌入式小侠 2012-07-15
  • 打赏
  • 举报
回复
好了,太感谢了,不过能在解释一下为什么吗?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧