问答

汇集网友智慧,解决技术难题

21ic问答首页 - 新手请教,请路过大神帮忙指点

定义 函数 ID ui unsigned TE

新手请教,请路过大神帮忙指点

周天星辰2022-11-12
#include<reg52.h>
#include<intrins.h>                          //51使用手册总明确表示,使用循环左移函数必须带此头文件
#define uint unsigned int                   //define为宏定义,把 unit定义为unsigned int,以后想写unsigned int时,直接调用unit。切记把自己定义的写在前面,系统函数写在后面
#define uchar unsigned char                 //宏定义,切记把自己定义的写在前面,系统函数写在后面
uchar temp;                          //设置一个变量给单片机赋值,切记赋值的类型要和被赋值的类型一样
//即P1口是一个8位的寄存器,要是定义为一个整型的或者实型的肯定会出错误,所以要定义为一个字符型,字符型占8位寄存器!!!
void delay(uint);                              //子函数声明:主函数在调用子函数之前必须要对子函数进行声明!否则主函数不知道你调用的什么东西!!!
void mian( )
{
                temp = 0xfe;                 //主函数开始的时候给P1附一个值,fe赋值给P口,即转换为二进制为11111110
                P1=temp;                        //点亮第一个灯
        while(1)
        {

                temp=_crol_(temp,1);        //左移 :_crol_为使用手册中左移函数, 括号里:temp进行左移,1代表左移一位
                delay(100);
                P1=temp;
}
void delay(uint z)
{
        uint x,y;
        for(x=100;x>0;x--)
                for(y=z;y>0;y--);
}


报警!报警!!报警!!!
error C141:syntax error near “void”
回答 +关注 15
1131人浏览 1人回答问题 分享 举报
1 个回答
  • 找到了,while少了一个中括号。。。。
            while(1)
            {

                    temp=_crol_(temp,1);        //左移 :_crol_为使用手册中左移函数, 括号里:temp进行左移,1代表左移一位
                    delay(100);
                    P1=temp;
            }
    周天星辰 2022-11-13 20:01 回复TA
    @xch :找到问题点了,感谢 
    xch 2022-11-12 22:21 回复TA
    “花”括号 

您需要登录后才可以回复 登录 | 注册