Arduino的隨手筆記 I2C 寫法 - 如何輸入指令

Arduino 的文章很多了,所以來寫寫I2C 的東西

I2C 的輸入指令很簡單就是 要注意Start、Ack 跟 End就好

Arduino 的基礎分成三個部分 include、 setup 跟 loop ,setup 就類似初始化、loop 就是一直在這回圈執行

I2C要用到的東西大部分都在Wire.h,第一步先include <Wire.h>

 

一. 第一步驟 include

 

 

 

#include <Wire.h> //插入I2C函式庫<Wire> 

 

二. 第二步驟 setup 

當要控制 I2C 時先加設定放在setup 

void setup() {
    Wire.begin();        // I2C位址與連線設定,主端不用設 
    Serial.begin(9600);  // 設定serial 鮑率為9600
}

Wire.begin();  
I2C位址與連線設定,主端不用設 

Serial.begin(9600);
serial 鮑率記得確定清楚,不然會一堆亂碼

 

三. 第三步驟 loop 

我們打入一個
1. address: 0x01
2. Cmd: 0x02
3. Data: 0x03、0x04 與 0x05

 

 

 

 

 

 

 

 

 

void loop() {
    Wire.beginTransmission(0x01);
    Wire.write(0x02); 
    Wire.write(0x03); 
    Wire.write(0x04); 
    Wire.write(0x05); 
    Wire.endTransmission(); 
}

 

Wire.beginTransmission(0x01);
就是會有 產生一個 SDA跟CLK的 Begin

Wire.write
就會加一個Ack 然後加入Data ,第一個Wire.write 就是CMD

Wire.endTransmission(); 
就是產生一個 SDA跟CLK的 Begin,最後將資料打出去

這樣就完成了 I2C 的輸入指令

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Arduino感覺比較少被當作 I2C 的控制器,像是我比較常用PSoc,但是還很少人用吧 哈哈