久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 關于單片機LED燈循環點亮程序調試問題 [打印本頁]

作者: wohahahah    時間: 2019-4-20 13:08
標題: 關于單片機LED燈循環點亮程序調試問題
#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我已經定位為unsigned int類型了,請問為何程序還是無法運行?


作者: wohahahah    時間: 2019-4-20 13:19
把u8 i=0;這個語句往上移兩行好像就能運行了,這是咋回事兒
作者: 雨后天晴0306    時間: 2019-4-20 18:59
u8 i=1;這個語句移到
void main()
{     的后面
你這個i=1必須在主程序開始時就做出定義,你把i=1的定義移到下面,電腦從頭進行程序的編譯時檢測不到變量i=1的定義就會報錯,程序就無法編譯運行
作者: 不靠譜的萌豬    時間: 2019-4-20 22:21
建議 延時函數寫成void delay_1ms(uint c)   {     uint a,b;     for(b=c;b>0;b--)     for(a=110;a>0;a--); }
作者: 鄭漢松    時間: 2019-4-20 22:50
這個是keil的規定,變量初始化必須放在函數開頭。
void main()
{        
            u8 i=0;
           led=0xfe;
           delay(50000);
   while(1)
  {
  led=0xfe;
  for(i=0;i<7;i++)
  {
   led<<=1;
   delay(50000);
   }
    }
  }
作者: wohahahah    時間: 2019-4-21 23:15
不靠譜的萌豬 發表于 2019-4-20 22:21
建議 延時函數寫成void delay_1ms(uint c)   {     uint a,b;     for(b=c;b>0;b--)     for(a=110;a>0;a-- ...

能不能稍微解釋一下這段延時程序的含義
作者: 孤獨一笑    時間: 2019-4-22 00:49
聲明變量應放在函數的開頭,不能放在中間,把這個變量定義,放到函數中的第一行就對了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人精品一区二区三区中文字幕 | 在线第一页 | 亚洲区一 | 日韩欧美在线视频观看 | 午夜国产一级片 | 欧美性精品 | 四虎网站在线观看 | 日韩在线高清 | 日韩在线成人 | 久久久观看 | 国产成人精品一区二区三区 | 视频一区二区三区中文字幕 | 国产精品久久影院 | 日本不卡高清视频 | 国产午夜精品一区二区三区四区 | 日韩中文字幕一区二区 | www.久久.com| 亚洲精品日本 | 日韩综合网 | 亚洲网站在线播放 | 精品一区二区三区免费毛片 | 国产一区二区三区免费 | 精品视频在线免费观看 | 久久精品91久久久久久再现 | 成人免费视频网站在线观看 | 国产精产国品一二三产区视频 | 在线看黄免费 | 欧美激情精品久久久久久 | 国产一区二区三区四区在线观看 | 国产一区二区小视频 | 亚洲欧美日韩电影 | 精品欧美久久 | 国产一级在线观看 | 一级一级一级毛片 | 午夜视频网站 | 欧美一级片免费看 | 久热精品在线 | 亚洲高清一区二区三区 | 99久久精品国产麻豆演员表 | 亚洲人成在线播放 | 91久久国产精品 |