#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar aa;
void main(){
aa = 0xfe;
uchar i;
while(1){
P1 = aa;
for(i=0;i<8;i++){
P1 = P1>>1;
}
}
}
错误:
2.c(9): error C141: syntax error near 'unsigned'
2.c(9): error C202: 'i': undefined identifier
2.c(12): error C202: 'i': undefined identifier
我写其他程序的时候这么写都对,为什么这一次就错了?是不是unsigned出错?还是变量i位置不对
另外,请大神看一下这么写,流水灯能不能运行。
还有,如何我按下一个按键,就能让流水灯停止。我只求流水灯停止代码!!谢谢啦
ä¸è¿°æµæ°´ç¯ä»£ç ï¼ä¸é´æ²¡æ延æ¶ï¼äººç¼åºè¯¥å辨ä¸åºæ¥ãå¦æä¸ç¨ä¸æã
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key= P2^4;
void main(){
uchar i;
uchar aa;
uchar kon;//1 run,0 stop;
uint dly;
aa = 0xfe;
while(1){
P1 = aa;
dly=5000;
if(kon)
{
for(i=0;i<8;i++){
P1 = P1>>1;
while(dly--);
}
if(key==0)
keyon=!keyon;
}
}追é®
ä¸è½è¿è¡å.....æåçkeyonæ¯ä»ä¹ï¼èä¸æ¹ækonï¼æ ¹æ¬å°±ä¸æ¯æµæ°´ç¯
追ç#include
#define uchar unsigned char
#define uint unsigned int
sbit key= P2^4;
void main(){
uchar i;
uchar aa;
uchar kon;//1 run,0 stop;
uint dly;
aa = 0xfe;
while(1){
P1 = aa;
dly=5000;
if(kon)
{
for(i=0;i>1;
while(dly--);
}
if(key==0)
kon=!kon;
while(key==0);//çå¾
æé®éæ¾
}
}
嗯,我自己试了下,确实是放在前面对了。为什么啊?
其他问题你能解答吗?感激不尽......
这个就和开发软件的编译方式有关了,你用的应该keil吧,keil编译时必须先要申明定义好一些函数或变量,否者在编译的时候会报错,这个问题就是和编译软件有关的,影响不大,你以后写程序的时候注意点就好,把所有的变量函数都事先声明和定义好就没问题了
让流水灯停下是可以的,你要按下一个键的话,就涉及到外部中断了,不知道你有去接触这个外部中断么?
我看过中断。你能不能大致写一下?