<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                > 原文出處:https://www.phodal.com/blog/bare-minimum-iot-system-mcu-commucation/ 在我們完成了前面的幾部分之后,我們也需要把這最后一部分解決,這里更多的是硬件,Arduino的存在可以讓硬件更簡單。 ## Arduino > Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的arduino板)和軟件(arduino IDE)。它適用于藝術家、設計師、愛好者和對于“互動”有興趣的朋友們。 那么讓我們先來看看我們寫的代碼。 ~~~ void setup() { Serial.begin(9600); pinMode(13,OUTPUT); } int serialData; void loop() { String inString = ""; while (Serial.available()> 0) { int inChar = Serial.read(); if (isDigit(inChar)) { inString += (char)inChar; } serialData=inString.toInt(); Serial.print(serialData); } if(serialData==1){ digitalWrite(13,HIGH); }else{ digitalWrite(13,LOW); } } ~~~ 這個代碼看上去似乎會有點復雜,但是讓我們看點基礎的,也就是由Arduino來控制一個LED的亮和滅。 ~~~ int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } ~~~ 這個也就是來自于官方的示例程序,而我們要做的東西也和這個差不多,只是這個是自動的,上面那個是由串口通信來實現的。 ## 串口通信 > 串行接口是一種可以將接受來自CPU的并行數據字符轉換為連續的串行數據流發送出去,同時可將接受的串行數據流轉換為并行的數據字符供給CPU的器件。一般完成這種功能的電路,我們稱為串行接口電路。 簡單地來說,我們誻就是用這個來實現通信的,用之前的RaspberryPI 發送1和0給Arduino。那么我們在Arduino上就只是接受和執行,這個由loop里面的if來執行 ### 初始化串口 如果你真心不喜歡51上的復雜的串口,那么我想Arduino又是解放雙手的東西了。 ~~~ Serial.begin(9600); ~~~ 這個就是串口初始化,速率為9600。 ### 串口讀取 ~~~ while (Serial.available()<0) { int inChar = Serial.read(); if (isDigit(inChar)) { inString += (char)inChar; } serialData=inString.toInt(); ~~~ 用于讀取的就是這么一行 ~~~ int inChar=Serial.read() ~~~ 而下面的部分則是剛我們接收到的數據轉換為1,由于接到的為char類型,那么我們需要轉為轉為Int進行判斷。 #### 為什么不直接用'1' 只是為了寫給需要的同學用的,也可以直接在上面用if(serialData=='1'),上面寫可以讓后期擴展的時候方便一點。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看