标题: 单片机延时循环次数代码出错 error C141: syntax error near 'unsigned' [打印本页]

作者: 952726841    时间: 2020-10-22 11:07
标题: 单片机延时循环次数代码出错 error C141: syntax error near 'unsigned'
流水灯想循环几次,现在出错,找不出错误,求大神指点
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int

uint aa;

void delay(uint i)
{
uint j;
uint k;
for(j=i;j>0;j--)
   for(k=110;k>0;k--);
}

void main()
{
aa=0xff;

uint m;
for(m=20,m>0;m--)
  {
while(1)
     {
     P1=aa;
           delay(1000);
     aa=_crol_(aa,1);
     }
  }

}

Build target 'Target 1'
compiling 5.c...
5.C(19): error C141: syntax error near 'unsigned'
5.C(19): error C202: 'm': undefined identifier
5.C(20): error C202: 'm': undefined identifier
5.C(20): error C141: syntax error near ')'
Target not created




作者: xianfajushi    时间: 2020-10-22 12:55
这样写循环是无用的,while(1)是无限循环。
作者: 952726841    时间: 2020-10-22 13:02
xianfajushi 发表于 2020-10-22 12:55
这样写循环是无用的,while(1)是无限循环。

那我只用for循环的话也会出现类似的情况
作者: 带泪的鱼    时间: 2020-10-22 13:25
while(1)
{
aa = _crol_(aa,1);
P1 = aa;
delay(1000);
}
你可以这样写
你写的while(1)循环里边每次都执行P1 = aa;
所以没办法实现移位的效果。
建议想想程序是怎么执行的。

作者: fj51hei    时间: 2020-10-22 15:00
m  没定义
作者: luzhongyi86    时间: 2020-10-22 15:39
语法错误的uint m放错位置
作者: wulin    时间: 2020-10-22 20:04
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar aa;

void delay(uint i)
{
        uint j,k;
        for(j=i;j>0;j--)
                for(k=110;k>0;k--);
}

void main()
{
        aa=0xfe;
        P1=aa;
        delay(1000);
        while(1)
        {
                aa=_crol_(aa,1);
                P1=aa;
                delay(1000);
        }
}
作者: i_could_have    时间: 2020-10-23 19:28
把while(1)那个循环去掉,for()括号里面的逗号换成分号
作者: 233的猫    时间: 2020-10-23 19:38
不要在for里面放while(1),应该把for放在while(1)里面




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1