找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4642|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

流水燈程序錯誤error C141: syntax error near 'unsigned'

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:688693 發(fā)表于 2020-2-7 16:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
自學(xué)單片機中,寫這個流水燈程序,不知道是哪步錯了,求各位指點,萬分感謝!
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
#define led P2
void delay(u16 i)
{
        while(i--);
}
void main()
{
        led=0x01;
        u8 cnt=0;
        while(1)
        {
            led=~(led<<cnt);
            delay(50000);
                if(cnt>=8)
                {cnt=0;}
        }
}

錯誤提示如下
liushuideng.c(14): error C141: syntax error near 'unsigned'
liushuideng.c(14): error C202: 'cnt': undefined identifier

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:621199 發(fā)表于 2020-2-7 19:16 | 只看該作者
你把main函數(shù)cnt定義放到第一行就可以編譯成功了
u8 cnt=0;
  led=0x01;
回復(fù)

使用道具 舉報

板凳
ID:168996 發(fā)表于 2020-2-7 19:23 | 只看該作者
LED=... 和u8 cnt兩行顛倒一下
回復(fù)

使用道具 舉報

地板
ID:642838 發(fā)表于 2020-2-7 21:31 | 只看該作者

LED=... 和u8 cnt兩行顛倒一下,或者刪去 led=0x01;這行。
另外 delay(50000);這行后面應(yīng)該加上cnt++; 否則后面的if語句就沒有作用了,就不是流水燈,而是閃爍了
回復(fù)

使用道具 舉報

5#
ID:245004 發(fā)表于 2020-2-8 16:00 | 只看該作者
“u8  cnt” 定義變量應(yīng)放在首行,led賦值不應(yīng)該放在首行。
程序中cnt沒有變化,led反復(fù)取反,結(jié)果不易控制。
一般是這樣寫的:



回復(fù)

使用道具 舉報

6#
ID:688693 發(fā)表于 2020-2-9 19:42 | 只看該作者
好嘞,謝謝各位啦,問題已解決!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表