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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7144|回復: 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夜,結果就一順序產生的問題,深感恥辱,發帖紀念。
回復

使用道具 舉報

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液晶顯示初始化順序調換一下就不能顯示!
回復

使用道具 舉報

ID:337834 發表于 2021-3-9 11:58 | 顯示全部樓層
多看看自己的代碼,畢竟STM32都是經過市場驗證的
回復

使用道具 舉報

ID:276761 發表于 2021-3-9 12:45 | 顯示全部樓層
會不會其他地方有問題你沒發現
回復

使用道具 舉報

ID:95703 發表于 2021-3-9 14:00 | 顯示全部樓層
會不會是 TIM6_init()的時鐘沒使能,到了  TIM8_init();才使能。
回復

使用道具 舉報

ID:644357 發表于 2021-3-9 18:45 | 顯示全部樓層
天地摩登恒 發表于 2021-3-9 14:00
會不會是 TIM6_init()的時鐘沒使能,到了  TIM8_init();才使能。

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

使用道具 舉報

ID:759755 發表于 2021-3-9 19:27 | 顯示全部樓層
這個和順序沒關系吧
回復

使用道具 舉報

ID:493780 發表于 2021-3-9 20:55 | 顯示全部樓層
你這個是stm32哪個型號的
回復

使用道具 舉報

ID:830831 發表于 2021-3-10 09:34 | 顯示全部樓層
Nevergp 發表于 2021-3-9 11:58
多看看自己的代碼,畢竟STM32都是經過市場驗證的

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

使用道具 舉報

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

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

使用道具 舉報

ID:890487 發表于 2021-3-10 19:03 | 顯示全部樓層
具體是哪個型號
回復

使用道具 舉報

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

使用道具 舉報

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. }
復制代碼

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

使用道具 舉報

ID:644357 發表于 2021-3-19 21:20 | 顯示全部樓層
kidxpp 發表于 2021-3-10 19:03
具體是哪個型號

103ZET6
回復

使用道具 舉報

ID:519089 發表于 2021-7-14 21:25 | 顯示全部樓層
肯定是代碼問題,不用多想~~~~~
回復

使用道具 舉報

ID:698693 發表于 2021-7-18 00:53 | 顯示全部樓層
我也出現了類似的情況    TIM1和TIM3的初始化順序不能反   TIM1要在前
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品在线观看 | 亚洲免费一区二区 | 亚洲欧美第一视频 | 午夜免费电影 | 九九久视频 | 国产高清一区二区 | 91精品久久久久久久久久入口 | 国产高清视频在线观看 | 中文字幕一区二区三区四区 | 天天噜天天干 | 久久久免费精品 | 精品一区二区三区电影 | 精品国产三级 | 亚洲www啪成人一区二区 | www国产成人免费观看视频,深夜成人网 | 久久se精品一区精品二区 | 欧美激情视频一区二区三区在线播放 | 国产一区二区在线视频 | 免费亚洲一区二区 | 国产成人精品一区二区三区 | 精品国产伦一区二区三区观看体验 | 亚洲精品久久久一区二区三区 | 欧美激情va永久在线播放 | 精品无码久久久久久久动漫 | 青青草一区二区三区 | www在线视频 | 久久爱黑人激情av摘花 | 日韩字幕一区 | 91精品国产乱码久久久久久久久 | 啪一啪在线视频 | 天堂久久网 | 日本久久福利 | 国产欧美精品一区二区色综合朱莉 | 久久久国产一区二区三区 | 欧美日韩精品一区二区三区视频 | 免费v片 | 亚洲欧美在线免费观看 | 黄视频网站在线 | 国产成人99av超碰超爽 | 超碰日本| 日日骚网 |