iic通訊的深入理解 主從裝置通訊

2021-08-30 02:13:12 字數 1176 閱讀 4666

雖然之前也研究了先iic同行基本的時序你弄明白了,可是在機子寫at24c02驅動的時候由於理解不夠透徹出了點問題。

一.寫資料

時序圖:

可是上面的程式中箭頭所指的位置可以看出我們在乙個write函式中傳送了兩次起始訊號。

第一次起始訊號之後我們只是定址了從裝置位址(就像是配對)配對完我們給了要寫入資料的位址然後給了乙個開始訊號。

第二次起始訊號後由於我們沒有嚴格按照上面的通訊協議(寫器件位址)就直接傳送資料由於此時我們沒有定址從器件位址(配對)那麼我們直接寫資料是無法成功的。

那麼有人會納悶了我們之前不是寫入位址了嗎怎麼會無法寫入資料了。

答案就是:你太弱了,沒有理解24c04讀寫時序圖(在編寫iic通訊器件驅動是嚴格按照從裝置讀寫時序寫)

在第一次起始訊號時雖然我們定址了器件位址和要寫入的記憶體位址,可是我們在配對完成後有給了乙個起始訊號,那麼相當於我們第一次的配對斷開了第一次配對所設定的寫資料位址那些不付出在。

在第二個起始訊號中我們我們沒有寫器件位址你肯定的無法再特定記憶體段寫入資料。

那麼這個程式我們要怎麼改了?

一種方法:去掉第二個起始訊號相當於只開啟了配對一次從裝置。

二.讀資料

24c02中iic協議中讀資料的過程:起始訊號->器件位址(7+1位寫(0))->應答->讀取位址->應答->起始訊號-.>器件位址(7位+讀(1))->應答->讀取資料->傳送應答->停止訊號

時序圖:

附帶**:

注:iic——read函式自帶應答。

注:在我們寫從裝置的與主裝置通訊iic驅動是一定要檢視通訊的時序(讀寫時序)而我們的**其實就是按照時序來寫。。

深入理解HTTPS通訊原理

一 https簡介 二 https與http的區別 1 https的伺服器需要到ca申請證書,以證明自己伺服器的用途 2 http資訊是明文傳輸,https資訊是密文傳輸 3 http與https的埠不同,乙個是80埠,乙個是443埠 可以說http與https是完全不同的連線方式,https集合了...

深入理解執行緒間的通訊方式

等待 通知機制就是,執行緒a呼叫了物件o的wait 方法進入等待狀態,執行緒b 呼叫了物件o的notify 或者notifyall 喚醒處於物件o上等待的執行緒a,使執行緒a 從wait 方法處返回從而進行剩餘操作。上述兩個執行緒通過物件o來進行互動,而物件o上的wait notify notify...

串列埠 非同步通訊和同步通訊深入理解

在計算機系統中,cpu和外部通訊有兩種通訊方式 並行通訊和序列通訊。而按照序列資料的時鐘控制方式,序列通訊又可分為同步通訊和非同步通訊兩種方式。同步和非同步大家從名稱上就大概知道區別在 簡單的說就是主機在相互通訊時傳送資料的頻率是否一樣。非同步通訊就是傳送方在任意時刻都可以傳送資料,前提是接收端已經...