<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> Arduino >> 瀏覽文章

        控制Arduino板子上的LDE燈(數字引腳)

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月03日   【字體:

          通過多次上機操作之后,可以更加深入的了解Arduino。(PS:昨晚以為我的六足機器人改裝4足機器人計劃快完成了,想不到弄到半夜3點多后來還是功虧于潰!昨晚把六足機器人改裝成四足機器人后,想更美化機器人,隨之把電源接口換成金屬電源接口,上電之后把Arduino上的ATMEGA328芯片和一塊32路舵機控制板給燒壞了,在短短的幾秒時間里直接經濟損失幾百蚊。崩潰啊。)

         

        范例:

         

        void digitalWrite ( uint8_t  pin,
            uint8_t  value  
          )      

        寫數字引腳 - digitalWrite

        寫數字引腳, 對應引腳的高低電平. 在寫引腳之前, 需要將引腳設置為OUTPUT模式.

         

        參數:
          pin  引腳編號
          value  HIGH 或 LOW
        用法:

         

        int ledPin = 13;                 // 定義LED燈的引腳為pin 13
        
        void setup()
        {
          pinMode(ledPin, OUTPUT);      // 把ledPin設置為輸出數字管腳(OUTPUT為輸出/INPUT為輸入)
        }
        
        void loop()
        {
          digitalWrite(ledPin, HIGH);   // 設置數字管腳的ledPin為高電平,就是板子的5V電壓
          delay(1000);                  // 時間間隔(毫秒),如果把1000改成更小的話LED燈閃爍得很快,比如:200
          digitalWrite(ledPin, LOW);    // 設置數字管腳的ledPin為低電平,電壓為0V
          delay(1000);                  // 時間間隔(毫秒)
        }
        

         

        注解:
        模擬引腳也可以當作數字引腳使用, 編號為14(對應模擬引腳0)到19(對應模擬引腳5).
        示例:
        ADXL3xx.pde、AnalogInput.pde、Blink.pde、BlinkWithoutDelay.pde、Button.pde、Calibration.pde、Debounce.pde、Knock.pde、Loop.pde、Melody.pde、PhysicalPixel.pdePing.pde.

        在文件wiring_digital.c78行定義。(宏文件里面的語言格式)

        00078 void digitalWrite(uint8_t pin, uint8_t val) //寫入數字管腳格式

        00079 {
        00080     uint8_t timer = digitalPinToTimer(pin);
        00081     uint8_t bit = digitalPinToBitMask(pin);
        00082     uint8_t port = digitalPinToPort(pin);
        00083     volatile uint8_t *out;
        00084
        00085     if (port == NOT_A_PIN) return;
        00086
        00087    

        00088    

        00089     if (timer != NOT_ON_TIMER) turnOffPWM(timer);  // 如果引腳支持PWM輸出,我們需要將其關閉
        00090
        00091     out = portOutputRegister(port);                             // 在此之前的寫入數字
        00092
        00093     if (val == LOW) *out &= ~bit;
        00094     else *out |= bit;
        00095 }
        00096

        00097 int digitalRead(uint8_t pin)  //讀取數字引腳格式

        00098 {
        00099     uint8_t timer = digitalPinToTimer(pin);
        00100     uint8_t bit = digitalPinToBitMask(pin);
        00101     uint8_t port = digitalPinToPort(pin);
        00102
        00103     if (port == NOT_A_PIN) return LOW;
        00104
        00105    

        00106    

        00107     if (timer != NOT_ON_TIMER) turnOffPWM(timer);  //  如果引腳,支持PWM輸出,我們需要將其關閉
        00108
        00109     if (*portInputRegister(port) & bit) return HIGH;       // 得到一個數字,然后閱讀。

        00110     return LOW;                                                          

        00111 }

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮