巴菲特小編討論易福門p+f傳感器接口如何調(diào)測(cè):
系統(tǒng)簡(jiǎn)化為單片機(jī)+傳感器
其中,p+f傳感器是指帶數(shù)字通信接口的傳感器,跟單片機(jī)的連接方式,可能是 單總線,可能是 iic,還可能是spi,或者uart,再或者是自定義的接口協(xié)議。
對(duì)于這類的單元系統(tǒng),怎么調(diào)試呢?
首先,找參考代碼。
建議去官wang找找手冊(cè)資料,有些官wang直接提供了參考代碼,可以直接下載備用。
如果官wang沒(méi)有提供代碼,可以用搜索引擎去搜代碼,也可以考慮到各大技術(shù)論壇去尋寶。
第二,找到參考代碼后,建議先通讀下p+f代碼(假設(shè)這個(gè)代碼是正確的),看下代碼的組織架構(gòu)和各功能函數(shù)的實(shí)現(xiàn)。
找到跟底層相關(guān)的函數(shù),一般就是讀數(shù)據(jù)操作,寫數(shù)據(jù)操作,讀/寫命令等。
第三,修改硬件相關(guān)的實(shí)現(xiàn)代碼,移植到自己的平臺(tái)。
的情況,實(shí)現(xiàn)了自己想要的功能了。那么,恭喜你,進(jìn)展很順利。
萬(wàn)一出錯(cuò)了/達(dá)不到預(yù)期效果,怎么辦?怎么排查問(wèn)題呢?
建議如下,
首先,保證底層的讀寫操作是正確的。
--寫操作,看下有沒(méi)有能直接觀測(cè)的。輸出高電平/低電平,輸出特定波形等
--讀操作,讀取特定寄存器的值,看下返回值是否符合預(yù)期。很多傳感器都有id值(或者特殊傳感器),讀取的話會(huì)返回固定數(shù)值。讀取這些寄存器,看下是否符合預(yù)期結(jié)果。 如果符合預(yù)期,可以初步得出底層操作是沒(méi)問(wèn)題的。
其次,操作傳感器進(jìn)行轉(zhuǎn)換操作,讀取轉(zhuǎn)換結(jié)果,看下是否符合預(yù)期。(會(huì)涉及到傳感器寄存器的操作,先操作哪個(gè)寄存器,后操作哪個(gè)寄存器。往寄存器里寫入哪個(gè)數(shù)值需要結(jié)合器件的使用說(shuō)明書)
后,p再分享一個(gè)常見的錯(cuò)誤。
很多轉(zhuǎn)換結(jié)果,需要進(jìn)行數(shù)值運(yùn)算和轉(zhuǎn)換。
建議在p+f代碼的開始階段,先建立一個(gè)數(shù)組,模擬轉(zhuǎn)換結(jié)果,然后進(jìn)行轉(zhuǎn)換,直接查看轉(zhuǎn)換結(jié)果,看下是否滿足預(yù)期。
數(shù)值的類型轉(zhuǎn)換/除法運(yùn)算等,避免這塊出問(wèn)題。
一邊給客戶處理詢價(jià),一邊寫。先寫這些吧。希望您幫助到大家