I2C讀寫中,新人會比較困惑,爲什麼I2C從地址要左移1位?
這是i2c協議決定的,i2c地址實際爲7位, AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0(讀/寫標誌位),如下圖
i2c模塊pdf文檔,表示的地址爲(AD7~AD1),
因爲i2c協議爲左對齊,所以需要對i2c地址,左移1位。
但是,有些API裏面,已經把地址左移1位了,這時候就不要再移動。編程時,要注意這個問題
volatile關鍵字試圖阻止過度優化,volatile基本可以做到兩件事情: 1. 阻止編譯器爲了提高速度將一個變量緩存到寄存器內而不寫回。 2. 阻止編譯器調整操作 volatile變量的指令順序。 爲什麼要這麼做,這麼做有什麼目