軟體模擬IIC需要注意的問題

2021-09-02 01:57:02 字數 852 閱讀 8735

iic 總結:

1、從主ic的gpio口出來的電壓要確定是高電壓,也就是開始模擬iic之前,要把gpio口電壓置1

2、在等待ack的函式裡,在置sda為輸入前,可以把sda置為高輸出,然後再置sda為輸入,

這樣可以明顯看出ack(要是有ack來的時候),確認有ack之後再把這多餘的置sda為高輸出的注釋掉。

3、至於延時處理,不是適用於所有的ic的,很多網上的例程**都有做延時處理,但如果你用的主ic處理慢話沒必要

加延時處理,這樣反而加慢處理速度。

4、模擬iic傳送的資料很慢,遠遠比硬體iic慢很多,能用硬體iic就不要用gpio口來軟體模擬。在要求頻繁寫從ic的

功能應用上,模擬iic跟不上速度。

從上面兩張圖,你可以看出來收到ack的回應嗎?看不出來吧,其實上面的圖中有ack應答,只是很難看出來,那有什麼辦法可以看得比較明顯呢?有的:

//等待應答訊號到來

//返回值:1,接收應答失敗

//        0,接收應答成功

u8 i2c_wait_ack(void)

else if(ret == level_high)        

ucerrtime++;

if(ucerrtime>250)

}  sdk_gpio_setio(pin_set_output, level_low, pin_scl);

return 0;     

}

需要注意的問題

決策樹id3和c4.5的差別?各自優點?boost演算法 cart 回歸樹用平方誤差最小化準則,分類樹用基尼指數最小化準則 gbdt與隨機森林演算法的原理以及區別。優化演算法中常遇到的kkt條件?作用是?最近鄰演算法knn 分類與回歸 l1和l2函式?l1和l2正則項的比較,如何解決 l1 求導困難...

Qml settings 需要注意的問題

qml 中使用 settings 可以儲存一些簡單的資訊,例如使用者名稱,密碼,視窗位置,大小等,沒有sqlite那麼麻煩,簡單易用哦 環境 qt5.8 for android windows 7 main.qml import qtquick 2.7import qtquick.window 2....

pathname需要注意的問題

假如我們開啟埠並設定只有pathname為 a b c時頁面才會跳轉向index.html,且html中引入css檔案,這時候css檔案的路徑會影響關於路徑名的配置。例如rel stylesheet href demo.css css的請求路徑會變成 localhost 3000 a b demo....