欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STM32單片機啟用多個定時器會影響其他端口嗎? [打印本頁]

作者: sr861126    時間: 2023-4-4 17:19
標題: STM32單片機啟用多個定時器會影響其他端口嗎?
STM32 啟用2個定時,一個喂狗,另外一個亮燈計數,但是總是燈亮的不正常,該怎么設置

作者: Hephaestus    時間: 2023-4-4 19:44
先把狗關了停止喂狗定時器,然后看看亮燈的是否正常。
作者: rayin    時間: 2023-4-5 10:28
喂狗的周期要比定時器的周期長. 定時器的中斷改變燈的ON,off狀態. 可能是喂狗超時系統復位了, 導致燈的on,off狀態受到影響
作者: 可樂11A    時間: 2023-4-6 11:39
看優先級,看周期
作者: rctty    時間: 2023-4-6 14:16
定時器中斷里喂狗?這不是只能防止跑飛,但不能防進入死循環;亮燈估計中斷里任務太多跑不過來,區分一下中斷優先級,高優先級嵌套就行
作者: sr861126    時間: 2023-4-7 09:23
可樂11A 發表于 2023-4-6 11:39
看優先級,看周期

應該是兩個定時器開啟了,導致中斷都在進行,定時器出現互相干涉的現象
作者: sr861126    時間: 2023-4-7 09:47
可樂11A 發表于 2023-4-6 11:39
看優先級,看周期

  和優先級沒有關系,是開啟了2個定時器導致另一個不正常,關掉一個就可以了,怎么讓2個定時器同時工作,不相互干涉
作者: yuxuesuixing    時間: 2023-4-7 11:28
1.喂狗不能用定時器,用定時器喂狗就和沒開狗一樣,定時器出問題也就是多中斷快速觸發阻塞了低優先級定時器中斷,那就是軟件系統出大問題了,或者晶振壞了,硬件出大問題了,用定時器喂狗等于脫褲子放屁,還不如不開狗。

2.兩個定時器工作是不受影響的,因為定時器是獨立的硬件,所有定時器一塊用也是沒問題的,只是中斷會占用更多的系統時間而已。

由1得出題主基礎不足,那2發生的原理大概率與兩個定時器同時侵占了資源導致,所以猜測有以下幾種情況
A:兩個定時器使用了相同的全局變量,變量增減異常,導致數據錯亂。
B:定時器修改的是狀態值,但開關燈是在主程序中執行的,主程序僅讀取了狀態值,在某些優化下,主程序優化效率將狀態值保存到內部寄存器,那該狀態值需要用volatile關鍵字修飾(適用于51 ,32內存結構不太了解)
C:使用了相同名稱的全局變量和局部變量,編譯器沒有發現(我的keil出現過幾次),變量右鍵跳轉到定義位置就發現了錯誤,修改不同名稱即可。
作者: sr861126    時間: 2023-4-7 17:49
yuxuesuixing 發表于 2023-4-7 11:28
1.喂狗不能用定時器,用定時器喂狗就和沒開狗一樣,定時器出問題也就是多中斷快速觸發阻塞了低優先級定時器 ...

  我把喂狗的定時器關閉就正常了,其實邏輯很簡單的,一個定時器15ms'喂狗一次,另外的一個1s閃爍led,
    把喂狗關了,led開關正常進入定時器




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1