![]() |
發(fā)布時間: 2021-5-31 17:52
正文摘要:SPI讀取傳感器ID值時,返回值一直是0x00或0xFF,將讀取ID值程序放入while(1)循環(huán),用示波器觀察,SCK和MOSI波形正確,MISO的波形很小。放大好多才能看見,而且不正確,有了解的大佬麻煩指點(diǎn)指點(diǎn) |
捕捉數(shù)字信號建議用邏輯分析儀,還可以分析協(xié)議具體數(shù)據(jù),示波器可能不準(zhǔn)確。 |
大多SPI的芯片,MISO是沒有驅(qū)動力的,所以,MISO是需要配上拉電阻的。 而由于大多SPI芯片,多不是5V, 所以原則上,單片機(jī)端MISO需要配制成輸入,或者像89C51這種不能配制端口模式的,要接在P0的開漏口上,而MISO的上拉,是從機(jī)原則,即上拉到從機(jī)的VCC,即從機(jī)是3.3V就上拉到3.3V,從機(jī)是1.8V就上拉到1.8V,從機(jī)是5V就上拉到5V, 一切以從機(jī)為準(zhǔn)。 而一主多從模式,也要避免不同電壓從機(jī)混合連接,如果不得不混聯(lián),需要分別用二級管和三級管隔離, |
xybbbb 發(fā)表于 2021-11-17 19:25 IO口沒有配置對,MISO要配置成輸入 |
daemondong 發(fā)表于 2021-6-1 09:34 SPI加個毛線的上拉電阻,很明顯是單片機(jī)的MISO沒有配置成輸入,沒燒芯片就算不錯了 |
你好,我最近也出現(xiàn)了同樣的問題,請問您最后是怎么解決的,能否指導(dǎo)指導(dǎo) |
daemondong 發(fā)表于 2021-6-1 12:19 謝謝回復(fù),我先試試 |
沒做過一主多從的,我的建議是MISO接上拉,一個就好,每個從機(jī)的CS也接上拉,安全點(diǎn)。 |
daemondong 發(fā)表于 2021-6-1 10:25 我這是一主多從,一個SPI帶的四個傳感器,是每個從機(jī)加一個,還是只加一個就行呢?SPI的其他三根線不用加嗎? |
4.7K到10K應(yīng)該都可以 |
daemondong 發(fā)表于 2021-6-1 09:34 感謝回復(fù),我用的是衰減10倍的,上拉電阻加多大的合適啊 |
這示波器看不懂,為啥都是負(fù)電壓,而且是-40V,你用的是衰減的表棒么? 用正常方法再量一次比較好。 不過看MISO波形,估計是沒加上拉電阻。 |
Powered by 單片機(jī)教程網(wǎng)