找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關(guān)于單片機(jī)LED燈循環(huán)點(diǎn)亮程序調(diào)試問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:480306 發(fā)表于 2019-4-20 13:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>
#include <intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
#define led P2
void delay(u16  i)
{           
   while(i--);
}
void main()
{        
           led=0xfe;
           delay(50000);
  u8 i=0;
  while(1)
  {
  for(i=0;i<7;i++)
  {
   led=_crol_(led,1);
   delay(50000);
   }
   for(i=0;i<7;i++)
   {
   led=_cror_(led,1);
   delay(50000);
   }
  }
  }
提示我未定義變量i,但是變量i我已經(jīng)定位為unsigned int類型了,請問為何程序還是無法運(yùn)行?

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

使用道具 舉報(bào)

沙發(fā)
ID:480306 發(fā)表于 2019-4-20 13:19 | 只看該作者
把u8 i=0;這個(gè)語句往上移兩行好像就能運(yùn)行了,這是咋回事兒
回復(fù)

使用道具 舉報(bào)

板凳
ID:511857 發(fā)表于 2019-4-20 18:59 | 只看該作者
u8 i=1;這個(gè)語句移到
void main()
{     的后面
你這個(gè)i=1必須在主程序開始時(shí)就做出定義,你把i=1的定義移到下面,電腦從頭進(jìn)行程序的編譯時(shí)檢測不到變量i=1的定義就會(huì)報(bào)錯(cuò),程序就無法編譯運(yùn)行
回復(fù)

使用道具 舉報(bào)

地板
ID:517444 發(fā)表于 2019-4-20 22:21 | 只看該作者
建議 延時(shí)函數(shù)寫成void delay_1ms(uint c)   {     uint a,b;     for(b=c;b>0;b--)     for(a=110;a>0;a--); }
回復(fù)

使用道具 舉報(bào)

5#
ID:514901 發(fā)表于 2019-4-20 22:50 | 只看該作者
這個(gè)是keil的規(guī)定,變量初始化必須放在函數(shù)開頭。
void main()
{        
            u8 i=0;
           led=0xfe;
           delay(50000);
   while(1)
  {
  led=0xfe;
  for(i=0;i<7;i++)
  {
   led<<=1;
   delay(50000);
   }
    }
  }
回復(fù)

使用道具 舉報(bào)

6#
ID:480306 發(fā)表于 2019-4-21 23:15 | 只看該作者
不靠譜的萌豬 發(fā)表于 2019-4-20 22:21
建議 延時(shí)函數(shù)寫成void delay_1ms(uint c)   {     uint a,b;     for(b=c;b>0;b--)     for(a=110;a>0;a-- ...

能不能稍微解釋一下這段延時(shí)程序的含義
回復(fù)

使用道具 舉報(bào)

7#
ID:473758 發(fā)表于 2019-4-22 00:49 來自觸屏版 | 只看該作者
聲明變量應(yīng)放在函數(shù)的開頭,不能放在中間,把這個(gè)變量定義,放到函數(shù)中的第一行就對了
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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