找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2136|回复: 4
收起左侧

新人求助程序错误流水灯.c(39):error C141: syntax error near 'void'

[复制链接]
ID:1023177 发表于 2022-5-1 18:09 | 显示全部楼层 |阅读模式
外部中断控制流水灯流动方向的代码 刚刚接触单片机 求各位指点 万分感谢

#include "reg51.h"

#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define out  P2
bit dir;
void delayms(uint);


void main(void)
{
uchar a=0x80;
uchar i,temp;
while(1)
        {
        
        temp=0xfc;        
        for(i=0;i<8;i=i++)
                  {out=temp;
                P1=temp;
                P0=temp;
                P3=temp;
                   delayms(200);
                                P2=a;
                   temp=_crol_(temp,2);
                  }
                        if(dir)
                        {
                                a=a>>1;
                                if(a==0x00) a=0x80;
                        }
                        else
      {
                                a=a<<1;
                                if (a==0x00) a=0x01;
                        }


}


void delayms(uint j)
{
        
uchar i ;
for(j>0;j--);
          {i=250;
            while(--i);
            i=249;
            while(--i);
           }
}
void int01x() interrupt 0 using 2
{
        IE=0x00;
        dir=~dir;
}
}

报错为.c(39): error C141: syntax error near 'void'
回复

使用道具 举报

ID:883242 发表于 2022-5-2 01:36 | 显示全部楼层
最后一行的}对应哪个{ ?
回复

使用道具 举报

ID:824490 发表于 2022-5-2 02:13 | 显示全部楼层
void delayms(uint);<====void delayms(uint del);
回复

使用道具 举报

ID:155507 发表于 2022-5-2 07:37 | 显示全部楼层
给你改了,对比一下就知道哪里错了。

  1. #include "reg51.h"
  2. #include "intrins.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define out  P2
  6. bit dir;
  7. void delayms(uint);


  8. void main(void)
  9. {
  10.         uchar a=0x80;
  11.         uchar i,temp;
  12.         while(1)
  13.         {
  14.                
  15.                 temp=0xfc;        
  16.                 for(i=0;i<8;i=i++)
  17.                 {out=temp;
  18.                         P1=temp;
  19.                         P0=temp;
  20.                         P3=temp;
  21.                         delayms(200);
  22.                         P2=a;
  23.                         temp=_crol_(temp,2);
  24.                 }
  25.                 if(dir)
  26.                 {
  27.                         a=a>>1;
  28.                         if(a==0x00) a=0x80;
  29.                 }
  30.                 else
  31.                 {
  32.                         a=a<<1;
  33.                         if (a==0x00) a=0x01;
  34.                 }


  35.         }
  36. } //<<<<-------------这里少了

  37. void delayms(uint j)
  38. {
  39.        
  40.         uchar i ;
  41.         for(j>0;j--);
  42.         {i=250;
  43.                 while(--i);
  44.                 i=249;
  45.                 while(--i);
  46.         }
  47. }
  48. void int01x() interrupt 0 using 2
  49. {
  50.         IE=0x00;
  51.         dir=~dir;
  52. }
  53. //} <<<---------------这里多了个
复制代码
回复

使用道具 举报

ID:1023177 发表于 2022-5-2 17:44 | 显示全部楼层
angmall 发表于 2022-5-2 07:37
给你改了,对比一下就知道哪里错了。

谢谢大神! 已经解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表