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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3170|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

一個(gè)關(guān)于STM32 WWDG應(yīng)用的相關(guān)話題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-3-23 15:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
作者:Miler Shao
       近日,在ST社區(qū)論壇看到有人發(fā)帖咨詢有關(guān)WWDG應(yīng)用方面的問(wèn)題,這里以該貼為切入點(diǎn)聊聊相關(guān)話題.帖的大致內(nèi)容是這樣的:

    “剛接觸使用WWDG,嘗試通過(guò)定時(shí)器定時(shí)喂狗。使用TIMER2并開(kāi)啟溢出中斷,在中斷里置位喂狗提醒標(biāo)志。在主函數(shù)里監(jiān)測(cè)提醒標(biāo)志,若監(jiān)測(cè)到喂狗標(biāo)志置位,則進(jìn)行喂狗操作并清零喂狗標(biāo)志。可是發(fā)現(xiàn)每當(dāng)打開(kāi)WWDG后,感覺(jué)就進(jìn)不去定時(shí)中斷了,總是喂狗失敗導(dǎo)致不停復(fù)位。如果關(guān)閉WWDG,定時(shí)中斷正常;不用TIMER中斷,用while延遲相等時(shí)間,也可喂狗成功。想不通為什么WWDG會(huì)導(dǎo)致中斷失敗?”

    在討論這個(gè)問(wèn)題之前不妨簡(jiǎn)單看看STM32芯片里的窗口看門狗[WWDG]的一些基本特性和主要控制寄存器。至于STM32看門狗的細(xì)節(jié)知識(shí)建議閱讀各系列的參考手冊(cè)為宜。

    窗口看門狗通常側(cè)重于用來(lái)監(jiān)測(cè)因外部干擾或不可預(yù)見(jiàn)的邏輯條件造成的應(yīng)用程序背離正常的運(yùn)行序列而產(chǎn)生的軟件故障。實(shí)質(zhì)上它是個(gè)可編程的自由運(yùn)行7位遞減計(jì)數(shù)器。


        這里主要涉及到3個(gè)寄存器。WDG預(yù)分頻器,WDG控制寄存器[WWDG_CR],看門狗配置寄存器[WWDG_CFR]。WWDG_CR決定計(jì)數(shù)器的上限并控制WWDG的啟停。WWDG_CFR里的W[6:0]決定喂狗的起始時(shí)刻,從該點(diǎn)到0x40形成一個(gè)有效喂狗時(shí)間窗口,即只有當(dāng)WDG計(jì)數(shù)器的值位于這個(gè)范圍時(shí)才可以做喂狗重載操作。否則,如果在計(jì)時(shí)器的值大于W[6:0]時(shí)喂狗或者計(jì)數(shù)器的值從0x40變?yōu)?x3F時(shí)都會(huì)觸發(fā)芯片復(fù)位。


     好,繼續(xù)上面的話題。

    現(xiàn)在發(fā)帖者覺(jué)得因?yàn)殚_(kāi)啟了WWDG從而TIM2不進(jìn)中斷,覺(jué)得費(fèi)解。結(jié)合上面WWDG的原理,這個(gè)比較容易想到WWDG從初始的T[6:0]一直遞減計(jì)數(shù)到0X3F沒(méi)有被喂狗而發(fā)生了復(fù)位。很可能TIM2的定時(shí)周期長(zhǎng)于或者遠(yuǎn)長(zhǎng)于WWDG從T[6:0]計(jì)數(shù)到0X3F的時(shí)間,這樣每次TIM2來(lái)不及進(jìn)中斷設(shè)置相關(guān)標(biāo)志就被WWDG復(fù)位了,這樣循環(huán)往復(fù)。當(dāng)然,這只是基于問(wèn)題癥狀一種可能。

    發(fā)帖者就時(shí)間參數(shù)作了進(jìn)一步確認(rèn),認(rèn)為定時(shí)中斷的時(shí)間點(diǎn)完全落在喂狗窗口范圍內(nèi),而且關(guān)閉WWDG后,TIM2 周期性更新中斷也正常。不使用TIM2,改為別的延時(shí)定時(shí)方式又能成功喂狗。

    看來(lái)問(wèn)題不是出在那個(gè)TIM2定時(shí)參數(shù)與窗口時(shí)間安排上。后來(lái)發(fā)帖者調(diào)試中無(wú)意發(fā)現(xiàn)每次開(kāi)啟定時(shí)器TIM2 都會(huì)進(jìn)一次中斷。這一進(jìn)中斷就問(wèn)題來(lái)了,中斷里置位了喂狗喚醒標(biāo)志,退出后主程序見(jiàn)到喚醒標(biāo)志立即做喂狗操作。顯然這下喂早了,WWDG發(fā)揮功能了,復(fù)位芯片!復(fù)位后每次開(kāi)啟定時(shí)器時(shí)故伎重演,又是提前喂狗,導(dǎo)致復(fù)位,周而復(fù)始。這樣給人以TIM2沒(méi)進(jìn)中斷,WWDG沒(méi)有得到及時(shí)喂狗而復(fù)位的假象。其實(shí)呢,喂狗喂的時(shí)間不合適而已。

    原因找到了,就比較好解決了。發(fā)帖者調(diào)整了一下代碼,在使能TIMER前先清下相應(yīng)的UIF位就好。順便提下,盡量不要在中斷里進(jìn)行喂狗操作。

   至于TIMER配置過(guò)程中一使能就產(chǎn)生更新中斷問(wèn)題,有人可能遇到或留意到這點(diǎn)了。有些情況下它可能會(huì)對(duì)應(yīng)用帶來(lái)影響或麻煩。在使能前先做下相關(guān)標(biāo)志的清除也是個(gè)不錯(cuò)的辦法。再就是注意下配置代碼順序也可以回避。


相關(guān)話題鏈接:

STM32定時(shí)器有時(shí)一開(kāi)啟就進(jìn)中斷的話題

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: jizz在线免费观看 | 日韩毛片| 国产综合精品一区二区三区 | 天堂三级 | 欧美1—12sexvideos | 香蕉视频1024 | 日本成人福利视频 | 午夜精品一区二区三区免费视频 | 日本在线观看网址 | 天堂成人国产精品一区 | 一区二区三区视频 | 成人精品视频在线观看 | 成人免费视频在线观看 | av第一页 | 免费在线成人网 | 成人在线视频免费观看 | 一区二区三区欧美 | 日本黄色一级片视频 | 91在线电影 | 成人在线视频一区 | 日韩亚洲视频 | 国产午夜精品一区二区三区在线观看 | 日日操视频 | 日韩综合在线 | 国产美女黄色片 | 超碰综合 | 在线永久看片免费的视频 | 狠狠色狠狠色综合系列 | 97久久精品午夜一区二区 | 伊人超碰在线 | 春色av| www日韩高清 | 久久免费视频1 | 老子午夜影院 | 中文字幕乱码亚洲精品一区 | 亚洲午夜在线 | 亚洲一区二区三区四区av | .国产精品成人自产拍在线观看6 | 日韩av啪啪网站大全免费观看 | 91麻豆精品国产91久久久久久 | 亚洲国产成人精品女人久久久 |