![]() |
發布時間: 2019-3-9 19:43
正文摘要:在設置發送模式后,有時程序會停留在等待ECHO引腳置1這個while循環里出不來,只要在這個循環里加入防死循環跳出程序即可,此外在設置發送模式成功以后收不到反射回來的信號的while等待中也需要加入防死循環語句。 ... |
樓主牛逼!當初做超聲波實驗的時候就想到這個問題了。。。但是倒是一直沒發生死循環卡住的問題就沒太在意。 另外樓主如果沒有收到echo的1的話,可能是因為一開始20微秒的啟動方波給的時常不夠,再多給點延時看看。還有我把這個hcsr04朝天射過,感覺它一定時間(很長時間,超過量程最大時間)之后,echo引腳好像必定會置1的,然后根據長短時間再變0。 我看了hcsr04內部也是個單片機,估計里面程序有防止沒回波置1的保障的,也就是只要啟動發射超聲波了,長時間后echo必定會給個置1。 |
bluewn 發表于 2019-8-18 10:25 程序用的好特別 |
不錯,方法可行,不過我建議在第一張圖里for語句即可實現,執行效率會高點,因為我的中斷中flag=1,所以取的反,可供參考 |
51hei瀏覽器截圖20190818102440.png (4.46 KB, 下載次數: 76)
有三個警告 |