spi除錯記錄

2021-10-23 01:40:48 字數 709 閱讀 8548

1.iwr1443作為spi主裝置,msp432p401r作為spi從裝置。

為什麼選spi:本來選用的是uart,但是uart的速率比較低,115200是最穩定的,速率高了之後432接收就丟資料了。還有更重要的一點,uart的tx端預設是高電平,在1443已經斷電的情況下,還是能通過432的tx腳進來乙個3.3v,導致整體功耗增加,這是絕對不允許的。

2.spi採用三線通訊-sck,mosi,somi。這裡的三線制用法是比較小眾的,還有一種三線制比較常見,即sck,cs,sda。

3.匯流排的初始狀態是三線都是低電平。這裡有個坑,在432接收資料的時候,因為432是低功耗常加電的,然後週期性的給1443上電斷電,1443雷達測距返回資料。432上電後sck處於低電平,當給1443上電時,sck會先被拉高,bios啟動完成後sck又被拉低,這樣就形成了乙個時鐘,如果432在1443上電前就已經準備好接收spi資料了,那麼由於多出的這個時鐘,432在接下來接收的資料將整體錯位,向右移1bit。

4.432(從機)傳送,1443(主機)接收資料,匯流排的時鐘是由主機產生的。432應該在1443啟動完成後先準備好要傳送的資料,當1443開始接收資料(產生時鐘)時,根據時鐘狀態,將資料填入miso線。這裡應該注意時鐘極性和相位的匹配,開始時432在時鐘的下降沿給miso匯流排賦值,1443在sck的上公升沿採數,這樣的話在採第乙個時鐘的時候就多採了乙個0,導致後面的資料偏移。所以432改為在上公升沿傳數,1443在下降沿採數,這樣就不會出錯了。

TI 硬體SPI除錯

這久在做乙個無線數傳模組的驅動,需要寫乙個cc2530的spi驅動,結果弄了兩個晚上,這個晶元有些地方實在是很有意思。它的datasheet裡面對於spi的極性和相位的解釋,很複雜。其實,這裡完全可以說的比較明了。cpol為0時,空閒的時候sck為低電平。當cpol為1時,空閒的時候sck為高電平。...

linux Linux除錯記錄

剛安裝完 linux 後,在輸入命令或者用 vi 編輯的時候會發出報警的蜂鳴聲,很難受。vi etc inputrc找到裡面的設定 bell style set bell style none將前面的 去掉,讓這個配置生效 set bell style none然後重啟系統就可以去掉蜂鳴聲 rebo...

EasyExcel除錯記錄

一.pom.xml com.alibaba easyexcel 2.2.6 二.必須要finish才會寫入,不finish只會建立empty的檔案。writesheet writesheet easyexcel.writersheet 測試1 head list build excelwriter....