小鱼的理想361 2021-09-23 22:52 采纳率: 50%
浏览 5111
已结题

error C141: syntax error near 'void', expected '__asm'

遇到了一个问题提示 error C141: syntax error near 'void', expected '__asm'真的不知道该怎么解决了,诚恳求解!

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint);
void main()
{
temp=0xfe;

P1=temp;
    while(1)
    {
        temp=_crol_(temp,1);
        delay(50);
        P1=temp;
    }

void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
{
for(y=z;y>0;y--)
{
}
}
}
}


  • 写回答

2条回答 默认 最新

  • ycode110 2021-09-24 10:58
    关注

    就是delay位置错了,delay函数不能放在main函数里面,所有函数都不可以这样子。还有函数声明需要一样。给你改了一下。

    
    #include <reg52.h>
    #include <intrins.h>
    #define uint32_t unsigned int
    #define uint8_t  unsigned char
    
    uint8_t temp;
    void delay(uint32_t z);
    
    void main(void)
    {
        temp = 0xfe;
    
        P1 = temp;
        while(1)
        {
            temp = _crol_(temp,1);
            delay(50);
            P1 = temp;
        }
    }
    
    void delay(uint32_t z)
    {
        uint32_t x, y;
        for(x = 100; x > 0; x--)
        {
            for(y = z; y > 0; y--)
            {
                ;
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月3日
  • 已采纳回答 9月25日
  • 创建了问题 9月23日