[爆卦]STM32 計時器是什麼?優點缺點精華區懶人包

為什麼這篇STM32 計時器鄉民發文收入到精華區:因為在STM32 計時器這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者nc23nick (弄牛連)看板ASM標題[問題] STM32 Timer溢位次數計算時間Wed...


各位大大新年快樂,小弟遇到一情形想問一下

設定一計數器,溢位時觸發中斷,在中斷服務函數裡把TIM_cycle++;

現在我有一task中有程式分別去抓取計數器計數值和cycle數值如下

---------------------------------
:
Counter = TIM_GetCounter(TIMX);
Cycle = TIM_cycle;
:
---------------------------------

目前遇到的問題是,一旦getcounter的值是要溢位前的情況時(如9999,下一個溢位成0)

此時抓到的cycle的值會多1(溢位後),想來問各位大大有什麼方式可以如何避免此情況

呢?~謝謝!

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.36.13
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1546416695.A.586.html
chuegou: 你在溢位中斷裡讓他+1 然後說想要避免溢位時不要+1 01/02 22:10
chuegou: 恩...把+1那行註解掉? 01/02 22:10
nc23nick: 哈~可能是我說的不清楚讓大大誤會,我是希望counter和 01/03 11:17
nc23nick: cycle值能對應正確~(抓到9999的cycle是還沒+1,抓到 01/03 11:18
nc23nick: 0001時的cycle是有+1),這情況並非每次數到9999時cycle 01/03 11:18
nc23nick: 都多+1,而是時正確時不正確,令人好生困擾~~QQ 01/03 11:19
god145145: 你是用RTOS? 01/03 17:07
大大沒錯是用RTOS~QQ
hizuki: 這邊沒有鎖沒有辦法,而且兩個不是原子操作 01/04 12:32
chuegou: 用violate修飾詞有用嗎 01/04 20:33
※ 編輯: nc23nick (61.216.36.13), 01/08/2019 15:57:33
twolight: volatile 01/03 17:37

你可能也想看看

搜尋相關網站