久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM32驚天大BUG,定時器1,8,和定時器6初始化順序的BUG [打印本頁]

作者: liuchao626    時間: 2021-3-8 20:28
標題: STM32驚天大BUG,定時器1,8,和定時器6初始化順序的BUG
眾所周知,初始化先后順序是不會影響到while(1)循環體的,但是TIM1,8和TIM6之間的初始化先后順序,直接影響兩個定時器能否正常工作

例子,TIM8用作輸出4路PWM波,
          TIM6用作定時延時,
    初始化
         TIM6_init();
         TIM8_init();



于是,PC6,7,8,9,只有C9有波形,

調換位置之后,皆大歡喜,一切正常,

我使用了FreeRTOS,因為這個問題抓狂了2天2夜,結果就一順序產生的問題,深感恥辱,發帖紀念。

作者: Highnose    時間: 2021-3-8 23:03
我靠,還能這樣?  啥開發環境呀?
作者: 深圳xyz1    時間: 2021-3-9 09:51
這種情況很常見,LCD液晶顯示初始化順序調換一下就不能顯示!
作者: Nevergp    時間: 2021-3-9 11:58
多看看自己的代碼,畢竟STM32都是經過市場驗證的
作者: cliang223    時間: 2021-3-9 12:45
會不會其他地方有問題你沒發現
作者: 天地摩登恒    時間: 2021-3-9 14:00
會不會是 TIM6_init()的時鐘沒使能,到了  TIM8_init();才使能。
作者: liuchao626    時間: 2021-3-9 18:45
天地摩登恒 發表于 2021-3-9 14:00
會不會是 TIM6_init()的時鐘沒使能,到了  TIM8_init();才使能。

定時器8,6都是分開的,用的固件庫,這種錯誤檢查了好幾遍
作者: chanmk    時間: 2021-3-9 19:27
這個和順序沒關系吧
作者: chenxianyu    時間: 2021-3-9 20:55
你這個是stm32哪個型號的
作者: SPEAR    時間: 2021-3-10 01:35
定時器6用到中斷了嗎?如果用到并且沒有在定時器初始化函數里面清空中斷標志位,main函數里初始化的時候會自動執行一次定時器中斷,進入中斷函數,如果正好中斷里有未初始化的內容,程序就會卡死在中斷里, 你的TIM6_init()中斷函數里肯定有TIM8相關內容。程序進入不了定時器8初始化函數里,也就是無法產生pwm波。你調換了順序,其實是先執行了tim8初始化,再執行tim6初始化,自動進入一次中斷,這時候中斷服務函數恰好能正常執行?隙ㄊ浅绦虻膯栴},不可能是bug
作者: Highnose    時間: 2021-3-10 09:34
Nevergp 發表于 2021-3-9 11:58
多看看自己的代碼,畢竟STM32都是經過市場驗證的

坑多的很,只是你不知道
作者: Highnose    時間: 2021-3-10 09:39
SPEAR 發表于 2021-3-10 01:35
定時器6用到中斷了嗎?如果用到并且沒有在定時器初始化函數里面清空中斷標志位,main函數里初始化的時候會 ...

比較靠譜的分析,樓主試試看
作者: kidxpp    時間: 2021-3-10 19:03
具體是哪個型號
作者: xdh568470911    時間: 2021-3-12 13:30
個人覺得,和順序沒有太大的關系,除非是你的一些局部變量沒有初始化,或者其他的一些BUG導致,你可以貼出代碼給大家瞅瞅。。
作者: liuchao626    時間: 2021-3-19 21:19
SPEAR 發表于 2021-3-10 01:35
定時器6用到中斷了嗎?如果用到并且沒有在定時器初始化函數里面清空中斷標志位,main函數里初始化的時候會 ...
  1. void TIM6_IRQHandler(void)
  2. {
  3.         if(TIM_GetITStatus(TIM6,TIM_IT_Update)!=RESET)
  4.         {
  5.                 if(Global_time_ms>0){
  6.                         Global_time_ms--;
  7.                 }
  8. //                if(Global_time_us>0){
  9. //                        Global_time_us--;
  10. //}
  11. //                if(Infraredcnt<300){Infraredcnt++;} else{read_all_status();Infraredcnt=0;}
  12.                 TIM_ClearITPendingBit(TIM6,TIM_FLAG_Update);
  13.         }
  14. }
復制代碼

這個延時函數就沒用到他,在閑置,代碼維護過了好長時間,可能就是大哥你說的這個情況。
不過學到了,初始化會自動執行一次中斷
作者: liuchao626    時間: 2021-3-19 21:20
kidxpp 發表于 2021-3-10 19:03
具體是哪個型號

103ZET6
作者: 單片機愛好者223    時間: 2021-7-14 21:25
肯定是代碼問題,不用多想~~~~~
作者: 醉酒人    時間: 2021-7-18 00:53
我也出現了類似的情況    TIM1和TIM3的初始化順序不能反   TIM1要在前




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 青青草伊人网 | 日本少妇做爰全过程毛片 | 久久久久久久免费视频 | 亚洲综合婷婷 | 久久久黄色 | 色婷婷成人 | 久久激情小说 | 亚洲永久免费视频 | 成人免费av | www..com黄| 国产欧美视频在线观看 | 亚洲一级特黄 | 国产精品一级 | 成人在线免费看 | 久久精品在线 | 在线播放日韩 | 亚洲免费成人 | 欧美激情一二三区 | 日韩一区二区三区四区 | 毛片网站在线播放 | 精品在线播放 | 成年人免费视频网站 | 久久视频一区二区 | 午夜免费剧场 | 在线不欧美 | 91久久| 日本视频www | 午夜私人影院 | 欧美在线不卡 | av黄色在线观看 | 91porn在线| 国产h视频在线观看 | 国产精品三级在线 | 91久久久久久久久久久 | 欧美日韩综合在线 | 国产精品成人国产乱一区 | 日韩在线视频播放 | 日韩网站免费观看 | 男人午夜影院 | 成年人一级片 | 爱福利视频网 |