色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linglong之AVR程例2 閃爍的LED

          Linglong之AVR程例2 閃爍的LED

          作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
          因為,早期程序都比較簡單,所以更新的比較快呀。

          這里我們讓LED閃爍起來。就是中間有延時,點亮LED,延時一會,滅了LED再延時一會。
          這個過程循環(huán)起來了,就是我們要的結(jié)果。

          看程序:
          #include <avr/io.h> //io端口寄存器配置文件,必須包含
          #include //系統(tǒng)自帶的延時函數(shù)很好用。

          int main(void) //GCC中main文件必須為返回整形值的函數(shù),沒有參數(shù)
          {
          DDRA = 0xff;
          while(1)
          {
          PORTA = 0x01;
          _delay_ms(1000); //延時一會
          PORTA = 0;
          _delay_ms(1000);
          }
          }

          還有給大家說一個我寫這個程序時,犯過一個錯誤。
          看下面的程序:
          #include//io端口寄存器配置文件,必須包含


          intmain(void)//GCC中main文件必須為返回整形值的函數(shù),沒有參數(shù)
          {
          inti=0,j=0;
          DDRB=0xff;
          while(1)
          {
          PORTB=0xf0;
          for(i=0;i<16000;i++) //這兩行是一個延時程序
          for(j=0;j<10000;j++);
          PORTB=0x0f;
          for(i=0;i<16000;i++) //這兩行是一個延時程序
          for(j=0;j<10000;j++);
          }
          }

          這里我們不管他的端口問題。我們只看程序。
          按我們正常的寫51的思維是沒有錯的,如果你用ICC,CVAVR都軟件編譯也不會有錯,但是如果用GCC就有問題。
          因為GCC會幫我們優(yōu)化程序。大家要注意這點就好了。。


          關(guān)鍵詞: AVR程例閃爍LE

          評論


          技術(shù)專區(qū)

          關(guān)閉