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,但是還很少人用吧 哈哈