娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月14日(星期六)

2019年06月14日 | STM32軟件復(fù)位的實(shí)現(xiàn)方法

發(fā)布者:delta14 來源: eefocus關(guān)鍵字:STM32  軟件復(fù)位  實(shí)現(xiàn)方法 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

前些天寫程序的時(shí)候,需要做一個(gè)自動(dòng)復(fù)位的功能,也就是當(dāng)收到外部通訊設(shè)備復(fù)位指令時(shí),主設(shè)備立刻執(zhí)行復(fù)位操作。當(dāng)時(shí)是想到的用看門狗實(shí)現(xiàn)。但是覺得似乎不太妥當(dāng),因?yàn)榭撮T狗的復(fù)位是需要一定的時(shí)間。而在這段時(shí)間內(nèi)系統(tǒng)還是處于正常運(yùn)行當(dāng)中,而且所有中斷都會(huì)正常響應(yīng)。這恰好與要實(shí)現(xiàn)的功能南轅北轍。需求是當(dāng)收到復(fù)位指令時(shí),系統(tǒng)停止執(zhí)行后面的所有操作,包含中斷響應(yīng)。所以看門狗無法實(shí)現(xiàn)。 


我用的是STM32F103芯片,了解這顆芯片能用來復(fù)位的只有5種,外部復(fù)位、獨(dú)立/窗口看門狗、軟件復(fù)位功耗管理。看來我能用的也就只有軟件復(fù)位了。但是我查了所有STM32F103芯片相關(guān)的資料,還是沒有找到具體的實(shí)現(xiàn)方法,最多是提到過這種復(fù)位寄存器SYSRESETRQ位。不過功夫不負(fù)有心人,我還是找到了線索,STM32F103芯片手冊(cè)中提到這種復(fù)位屬于內(nèi)核部分,于是我翻看了cortex-m3內(nèi)核相關(guān)書藉才找到,在此分享一下,表達(dá)一個(gè)喜悅之情。 


共有兩種實(shí)現(xiàn)方法,具體方法實(shí)現(xiàn)如下: CM3允許由軟件觸發(fā)復(fù)位序列。 

第一種方法,是通過置位NVIC中應(yīng)用程序中斷與復(fù)位控制寄存器(AIRCR)的VECTRESET位(位偏移:0),如下所示: 

LDR R0, =0XE000ED0C  ;NVIC AIRCR address 

LDR R1, =0X05FA0001  ;置位VECTRESET位,前面的0X5FA是訪問鑰匙、 STR R1, [R0]     ;觸發(fā)復(fù)位序列 deadloop 

B    deadloop   ;該死循環(huán)保證后面的指令不可能被執(zhí)行到 

這種復(fù)位的作用范圍覆蓋了整個(gè)CM3微控制器中,除了調(diào)試邏輯之外的所有角落,但是它不會(huì)影響到CM3微控制器處部的電路,所以單片機(jī)上的各片上外設(shè)和其他電路都不受到影響。  


復(fù)位的第二種方法,置位同一個(gè)寄存器中的SYSRESETREQ位,這種復(fù)位則是會(huì)波及整個(gè)芯片上的電路:它會(huì)使CM3微控制器把送往系統(tǒng)復(fù)位發(fā)生器的請(qǐng)求線置為有效。但是,系統(tǒng)復(fù)位發(fā)生器不是CM3的一部分,而是芯片廠商實(shí)現(xiàn)的,因此,不同的芯片對(duì)此復(fù)位的響應(yīng)也不同。因此讀者需要認(rèn)真 參閱該芯片的規(guī)格書,明白發(fā)生片內(nèi)復(fù)位時(shí),各外設(shè)和功能模塊都會(huì)回到什么狀態(tài),或者有哪些功能模塊受到影響(比如,STM32系列有后備存儲(chǔ)區(qū),該區(qū)就被特殊對(duì)待)。SYSRESETRQ的使用代碼如下面代碼段演示: LDR R0, =0XE000ED0C NVIC AIRCR address 

LDR R1, =0X05FA0004 置位SYSRESETRQ,前面的0X05FA是訪問鑰匙 STR R1, [R0]     ;觸發(fā)復(fù)位序列 deadloop 

B    deadloop  ;該死循環(huán)保證后面的指令不會(huì)被執(zhí)行到   

這里要注意一個(gè)問題:從SYSRESETRQ被置為有效,到復(fù)位發(fā)生器執(zhí)行復(fù)位命令,往往會(huì)有一個(gè)延時(shí)。在些延時(shí)期間內(nèi),處理器仍然可以響應(yīng)中斷請(qǐng)求。但我們的本意往往是要讓此次執(zhí)行到此為止,不要再執(zhí)行任何操作。所以,最好在發(fā)出復(fù)位請(qǐng)求前,先把FAULTMASK置位。 


這兩種方法都是對(duì)CM3內(nèi)核寄存器直接操作的,調(diào)試的時(shí)候可以試試看,不過正常情況下,沒事不要瞎玩兒啊!


關(guān)鍵字:STM32  軟件復(fù)位  實(shí)現(xiàn)方法 引用地址:STM32軟件復(fù)位的實(shí)現(xiàn)方法

上一篇:一則STM32f103莫名反復(fù)復(fù)位的經(jīng)驗(yàn)記錄
下一篇:STM32F10xxx支持三種復(fù)位

推薦閱讀

人工智能與文娛行業(yè)的結(jié)合,除了在圖像領(lǐng)域?qū)崿F(xiàn)了落地,也早已走進(jìn)了音頻領(lǐng)域。 巨頭Google Brain 的 Magenta項(xiàng)目,就用 TensorFlow 和生成式模型來創(chuàng)造藝術(shù)作品,編曲家可以用機(jī)器智能生成一段和弦;初創(chuàng)公司 Jukedeck 和 Amper Music 為C端用戶提供了機(jī)器編曲功能,只需要設(shè)定音樂類型、心情、速度、樂器以及音軌長(zhǎng)度,就能為你創(chuàng)建一首歌曲...
日前,借2019中國(guó)光網(wǎng)絡(luò)研討會(huì)召開之際,Microchip舉行了一年一度的研討會(huì),這已是Microchip連續(xù)九年參加此次研討會(huì)。在這九年中,無論是此前的Microsemi,還是合并后的Microchip,都圍繞OTN技術(shù)展開了探討。從2016年的超大規(guī)模數(shù)據(jù)中心演講主題,到2017年的5G承載網(wǎng),以及2018年NGOF產(chǎn)業(yè)聯(lián)盟成立,可以說年年都有亮點(diǎn)。2019年,Microchip又將OTN技術(shù)應(yīng)用...
MSP430的中斷優(yōu)先級(jí)、打開關(guān)閉、中斷嵌套優(yōu)先級(jí)順序從高到低為: PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */ PORT1_VECTOR (4 * 2u) /* 0xFFE8 Port 1 */ TIMERA1_VECTOR (5 * 2u) /* 0xFFEA Timer A CC1-2, TA */ TIMERA0_VECTOR (6 * 2u) /* 0xFFEC Timer A CC0 */ ADC_VECTOR (7 * 2u) /*...
從蒸汽到內(nèi)燃機(jī),再到電動(dòng)機(jī),幾百年的歷史進(jìn)程中,世界驅(qū)動(dòng)力的升級(jí)讓城市運(yùn)轉(zhuǎn)的節(jié)奏更快更強(qiáng),而汽車可以說是城市動(dòng)力的親歷者和見證者。不過,正如曾經(jīng)每一次變革都會(huì)受到來自技術(shù)或能源上的阻力一樣,汽車在即將告別化石能源全力擁抱新能源技術(shù),駛向未來駕駛的過程中也面臨著不小的挑戰(zhàn)。“一代正極材料,一代動(dòng)力電池”,從錳酸鋰到磷酸鐵鋰,再到三...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 巩义市| 舞钢市| 团风县| 峡江县| 乐山市| 嘉荫县| 凉城县| 温宿县| 宜君县| 茶陵县| 阿拉善盟| 禹州市| 师宗县| 铜山县| 东兴市| 康马县| 扎赉特旗| 辛集市| 沈阳市| 如东县| 顺昌县| 青州市| 信阳市| 遂宁市| 贺州市| 聂荣县| 靖远县| 玉屏| 巴马| 和政县| 河北省| 丹棱县| 寿光市| 宁蒗| 凤凰县| 长沙县| 莱西市| 龙岩市| 叶城县| 师宗县| 吉林省|