![]() |
發(fā)布時間: 2022-11-27 20:55
正文摘要:用STM32F103C8T6最小系統(tǒng)板驅(qū)動DS18B20,這里的應(yīng)答一直返回值為1,檢測不到ds18b20,代碼檢查了幾遍沒有問題,有沒有大佬解答一下 |
這種問題,如果不是硬件原因,一般都時時序問題,所以最好的辦法是,掛個示波器,查看時序,哪兒不對修改哪 |
現(xiàn)在,很多 DS8B20并不是 DS18B20,時序是不一樣的 |
fhff 發(fā)表于 2022-11-28 20:24 原子的例程照著用是絕對能用的,除了沒有單總線上掛載多個設(shè)備的功能。換個傳感器試試,好好檢查一下所有有可能疏忽的地方。 |
dasSpieler 發(fā)表于 2022-11-28 00:39 延時用的正點原子代碼,應(yīng)該也沒問題 |
dasSpieler 發(fā)表于 2022-11-28 00:39 連接沒有問題,網(wǎng)上的代碼都試過了,大同小異,但都無法完成讓初始化返回值為0 |
用示波器測試一下延時電路準(zhǔn)不準(zhǔn),然后再調(diào)試程序。 |
看一下延時是否正確。 |
代碼看上去是對的。考慮一下硬件連接是否有問題,傳感器io是否正確上拉,或更換傳感器(ds18b20應(yīng)該不太容易壞,除非正負(fù)極接反); 單片機io初始化是否正確,ds18b20在發(fā)送命令前是否正確reset。這個東西用起來沒啥難度,網(wǎng)上一堆例程可以參考。 |
Powered by 單片機教程網(wǎng)