|
師傅們,老師們,各位好,目前用STM32開發板,數碼管和串口顯示18b20,溫度值,程序按照教程來的,和教程程序略有不同(編譯不過,按照自己的方法改的),教程里面的程序沒有數碼管,目前的問題是,前10秒顯示正常溫度值,后3秒現在零,在10秒顯示正常值,在3秒顯示0,一直往返,串口讀出的溫度值也是一樣的情況,教程程序沒有此問題,我的數碼管顯示是采用定時中斷來寫的,我懷疑用定時中斷程序干擾18b20采集數據,我之前用C51寫過這種程序,要加中斷開和中斷關,于是我在網上找到這兩種語句(詳情見圖片),加上之后,數碼管可以看輕微閃爍,但是數值還是有出現0的情況,后來我才用中斷函數NvIC里面的兩個函數來控制函數中斷開,關(nvic_setprimask(); nvic_resetprimask();)加入后,編譯不過,意思是確實函數,請問各位老師,各位師傅,這種情況是定時中斷造成的嗎?如果是定時中斷造成的,這個位置怎么關中斷,開中斷,或者還有沒有其它的好的方法解決此問題,謝謝
|
|