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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7592|回復: 17
打印 上一主題 下一主題
收起左側

STM32驚天大BUG,定時器1,8,和定時器6初始化順序的BUG

  [復制鏈接]
跳轉到指定樓層
樓主
ID:644357 發表于 2021-3-8 20:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
眾所周知,初始化先后順序是不會影響到while(1)循環體的,但是TIM1,8和TIM6之間的初始化先后順序,直接影響兩個定時器能否正常工作

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



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

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

我使用了FreeRTOS,因為這個問題抓狂了2天2夜,結果就一順序產生的問題,深感恥辱,發帖紀念。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

來自 2#
ID:669393 發表于 2021-3-10 01:35 | 只看該作者
定時器6用到中斷了嗎?如果用到并且沒有在定時器初始化函數里面清空中斷標志位,main函數里初始化的時候會自動執行一次定時器中斷,進入中斷函數,如果正好中斷里有未初始化的內容,程序就會卡死在中斷里, 你的TIM6_init()中斷函數里肯定有TIM8相關內容。程序進入不了定時器8初始化函數里,也就是無法產生pwm波。你調換了順序,其實是先執行了tim8初始化,再執行tim6初始化,自動進入一次中斷,這時候中斷服務函數恰好能正常執行。肯定是程序的問題,不可能是bug
回復

使用道具 舉報

板凳
ID:830831 發表于 2021-3-8 23:03 | 只看該作者
我靠,還能這樣?  啥開發環境呀?
回復

使用道具 舉報

地板
ID:866661 發表于 2021-3-9 09:51 | 只看該作者
這種情況很常見,LCD液晶顯示初始化順序調換一下就不能顯示!
回復

使用道具 舉報

5#
ID:337834 發表于 2021-3-9 11:58 | 只看該作者
多看看自己的代碼,畢竟STM32都是經過市場驗證的
回復

使用道具 舉報

6#
ID:276761 發表于 2021-3-9 12:45 | 只看該作者
會不會其他地方有問題你沒發現
回復

使用道具 舉報

7#
ID:95703 發表于 2021-3-9 14:00 | 只看該作者
會不會是 TIM6_init()的時鐘沒使能,到了  TIM8_init();才使能。
回復

使用道具 舉報

8#
ID:644357 發表于 2021-3-9 18:45 | 只看該作者
天地摩登恒 發表于 2021-3-9 14:00
會不會是 TIM6_init()的時鐘沒使能,到了  TIM8_init();才使能。

定時器8,6都是分開的,用的固件庫,這種錯誤檢查了好幾遍
回復

使用道具 舉報

9#
ID:759755 發表于 2021-3-9 19:27 | 只看該作者
這個和順序沒關系吧
回復

使用道具 舉報

10#
ID:493780 發表于 2021-3-9 20:55 | 只看該作者
你這個是stm32哪個型號的
回復

使用道具 舉報

11#
ID:830831 發表于 2021-3-10 09:34 | 只看該作者
Nevergp 發表于 2021-3-9 11:58
多看看自己的代碼,畢竟STM32都是經過市場驗證的

坑多的很,只是你不知道
回復

使用道具 舉報

12#
ID:830831 發表于 2021-3-10 09:39 | 只看該作者
SPEAR 發表于 2021-3-10 01:35
定時器6用到中斷了嗎?如果用到并且沒有在定時器初始化函數里面清空中斷標志位,main函數里初始化的時候會 ...

比較靠譜的分析,樓主試試看
回復

使用道具 舉報

13#
ID:890487 發表于 2021-3-10 19:03 | 只看該作者
具體是哪個型號
回復

使用道具 舉報

14#
ID:531542 發表于 2021-3-12 13:30 | 只看該作者
個人覺得,和順序沒有太大的關系,除非是你的一些局部變量沒有初始化,或者其他的一些BUG導致,你可以貼出代碼給大家瞅瞅。。
回復

使用道具 舉報

15#
ID:644357 發表于 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. }
復制代碼

這個延時函數就沒用到他,在閑置,代碼維護過了好長時間,可能就是大哥你說的這個情況。
不過學到了,初始化會自動執行一次中斷
回復

使用道具 舉報

16#
ID:644357 發表于 2021-3-19 21:20 | 只看該作者
kidxpp 發表于 2021-3-10 19:03
具體是哪個型號

103ZET6
回復

使用道具 舉報

17#
ID:519089 發表于 2021-7-14 21:25 | 只看該作者
肯定是代碼問題,不用多想~~~~~
回復

使用道具 舉報

18#
ID:698693 發表于 2021-7-18 00:53 | 只看該作者
我也出現了類似的情況    TIM1和TIM3的初始化順序不能反   TIM1要在前
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av毛片免费| 日本特黄a级高清免费大片 特黄色一级毛片 | 久久综合色综合 | 亚洲国产伊人 | 色免费视频 | 欧美精品久久久久 | 久久鲁视频 | 超碰在线亚洲 | 日韩一区二区在线观看视频 | 亚洲美乳中文字幕 | av免费入口 | 国产精品黄视频 | 欧美中文一区 | 色妞av | 欧美精品久久久久久久久老牛影院 | www.国产视频 | 99精品福利视频 | 亚洲成人国产综合 | 99久久夜色精品国产亚洲96 | 91免费观看 | 欧美黑人国产人伦爽爽爽 | 亚洲国产成人久久综合一区,久久久国产99 | 91精品久久久久久久久 | 国产三级精品视频 | 亚洲精品乱码久久久久久按摩观 | 中文字幕视频在线 | 久久精品久久久久久 | 天天干天天草 | 久久久久亚洲av毛片大全 | 国产高清精品一区二区三区 | 国产视频观看 | 日韩精品在线网站 | 91精品国模一区二区三区 | 久久精品亚洲成在人线av网址 | 日韩aⅴ在线观看 | 在线观看毛片网站 | 午夜亚洲 | 日韩精品免费视频 | 日韩在线观看网站 | 日韩欧美在线不卡 | 国产美女黄色片 |