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

歷史上的今天

今天是:2025年06月13日(星期五)

2019年06月13日 | STM32軟件復位的實現方法

發布者:bianzitong521 來源: eefocus關鍵字:STM32  軟件復位  實現方法 手機看文章 掃描二維碼
隨時隨地手機看文章

前些天寫程序的時候,需要做一個自動復位的功能,也就是當收到外部通訊設備復位指令時,主設備立刻執行復位操作。當時是想到的用看門狗實現。但是覺得似乎不太妥當,因為看門狗的復位是需要一定的時間。而在這段時間內系統還是處于正常運行當中,而且所有中斷都會正常響應。這恰好與要實現的功能南轅北轍。需求是當收到復位指令時,系統停止執行后面的所有操作,包含中斷響應。所以看門狗無法實現。 


我用的是STM32F103芯片,了解這顆芯片能用來復位的只有5種,外部復位、獨立/窗口看門狗、軟件復位功耗管理??磥砦夷苡玫囊簿椭挥熊浖臀涣恕5俏也榱怂蠸TM32F103芯片相關的資料,還是沒有找到具體的實現方法,最多是提到過這種復位寄存器SYSRESETRQ位。不過功夫不負有心人,我還是找到了線索,STM32F103芯片手冊中提到這種復位屬于內核部分,于是我翻看了cortex-m3內核相關書藉才找到,在此分享一下,表達一個喜悅之情。 


共有兩種實現方法,具體方法實現如下: CM3允許由軟件觸發復位序列。 


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

LDR R0, =0XE000ED0C  ;NVIC AIRCR address 

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

B    deadloop   ;該死循環保證后面的指令不可能被執行到 

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


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

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

B    deadloop  ;該死循環保證后面的指令不會被執行到   

這里要注意一個問題:從SYSRESETRQ被置為有效,到復位發生器執行復位命令,往往會有一個延時。在些延時期間內,處理器仍然可以響應中斷請求。但我們的本意往往是要讓此次執行到此為止,不要再執行任何操作。所以,最好在發出復位請求前,先把FAULTMASK置位。 


這兩種方法都是對CM3內核寄存器直接操作的,調試的時候可以試試看,不過正常情況下,沒事不要瞎玩兒??!


關鍵字:STM32  軟件復位  實現方法 引用地址:STM32軟件復位的實現方法

上一篇:STM32如何使用內部時鐘源當系統時鐘
下一篇:STM32F4系統時鐘設置之二

推薦閱讀

2016年,我們說,機器人模式的轉變將比過去十年從網絡向移動應用的轉變更具破壞性和趣味性。我們相信,聊天機器人是下一個即將發生的大事件。 當時,我們的期望很高,并認為這個行業已經成熟,并且翹首以待迎接新的創新時代:是時候開始與機器進行社交了。 那人類又何樂而不為呢?所有的預測都表示未來將會非常成功。 ? ? ? ? 在2017年的世界移...
特斯拉的強力競爭者,如今從上海張江浮出水面。 不是新能源,并非造車新勢力,而是特斯拉核心能力所在——自動駕駛。 高速環路自動代駕、擁堵路段自動跟車,停車場自主泊車……都是特斯拉AutoPilot+完全自動駕駛的核心能力。 最新在中國配置加碼,也得83800元人民幣(基礎輔助駕駛功能27800元+完全自動駕駛能力56000元)。 但現在,從產品能力到價格成本...
在國內資本市場中,新三板一直沒有一個明確的定位。由于新三板企業數量眾多,但市場交易卻并不活躍,不少優質公司的價值被嚴重低估,這也導致了新三板市場淪為一個“過渡板塊”,優質企業流失的情況非常嚴重。自2019年7月科創板開板以來,一度被看作是中國版納斯達克的新三板面臨的尷尬局面愈加明顯,同時,科創板的火爆行情也讓新三板掛牌的半導體企業“...
據快科技消息,華為近日宣布聯合歐洲運營商成功完成了業界首個單波速率1.66Tb/s的DWDM現網測試。報道稱,此次測試采用了96.5 km的標準G.652光纖,全程僅使用普通EDFA光放大器。在測試中,現網共傳輸了34個波道,每個波道間隔150GHz,總光纖容量超過56Tb/s,頻譜效率超過11bit/s/Hz。本次測試同步對超60 km的1.77Tb/s單波傳輸,超120 km的1.65Tb/s單波傳...

史海拾趣

問答坊 | AI 解惑

如何改善單片機通訊中光耦輸出的波形

電路如下,測得TXD和TXA的波形如圖中所示,TXD接單片機TXD,TXA為光耦輸出波形,TXD波形還算理想,但TXA波形上升沿上升緩慢,請問各位大蝦如何改善TXA波形? …

查看全部問答∨

矩陣鍵盤程序匯總

最簡單矩陣鍵盤掃描程序 key:mov p0,#00001111b;上四位和下四位分別為行和列,所以送出高 低電壓檢查有沒有按鍵按下 jmp k10;跳到K10處開始掃描,這里可以改成其它條件轉移指令來決 定本次掃描是否要繼續,例如減1為0轉移或者位為1或0才轉移,這 ...…

查看全部問答∨

請問各位老師有否400M丙類功率放大器制作方面的資料嗎

請問各位老師有否400M丙類功率放大器制作方面的資料嗎?…

查看全部問答∨

寫了一個最基本的流驅動,可是在DM里為什么無法激活呢?

代碼如下 *********************GIO_DRV.h************************************* #include \"stdafx.h\" #include __declspec(dllexport) extern DWORD        GIO_Init1(LPCTSTR pContext, LPCVOID lpvBusContext); ...…

查看全部問答∨

請教:AD8337的增益范圍到底是多少,請用過的回答一下,多謝!

芯片資料上寫的是0-24dB,但是我在一篇文章上看到是-6dB~18dB,見下圖,搞不懂怎么來的。 …

查看全部問答∨

向所有eeworld社區網友道歉!因為我參與倒分了,發誓再也不倒分

向所有eeworld社區網友道歉!因為我參與倒分了,發誓再也不倒分…

查看全部問答∨

請教一個關于wm_command消息的問題

我在一個窗口中添加一個button, 在WM_COMMAND中, 點擊這個button, button處于按下的狀態, 松開鼠標的時候, 彈出一個窗口, 關閉這個彈出的窗口之后, button才被彈起來, 我想要的是松開鼠標的同時, button進入彈起的狀態, 也就是說, 這個彈出窗口被關 ...…

查看全部問答∨

Window ce.net 4.0 如何開發屏幕保護程序,并指定快捷鍵Ctrl+Alt+Q

Window ce.net 4.0 如何開發屏幕保護程序,并指定快捷鍵Ctrl+Alt+Q 是一臺設備上的系統,我想按下快捷鍵顯示屏幕保護程序,并在中間顯示幾行字 知道的請幫助我一下…

查看全部問答∨

tchar字符串轉換為十進制的方法

請教一個問題: 在WinCE環境下,使用eVC編程 定義了2個字節的數據 TCHAR buf1[3]=_T(\"7A\"); SetDlgItemText(IDC_EDIT3,buf1); 顯示的ASCII 現在我想用十進制顯示出來,怎么轉換呢?…

查看全部問答∨

請教關于FPGA和PC機之間的通信接口問題

用RS232串口實現最簡單,但是速度慢; 用EPP/ECP并口傳輸數據和用USB總線傳輸數據兩種方案從開發難易程度、通信速度方面各有哪些優勢呢? 開發難易程度需要考慮FPGA端的開發以及PC端軟件的開發兩方面; 謝謝各位,目前正在方案選擇中,希望大家 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 什邡市| 汉阴县| 三原县| 缙云县| 卓尼县| 兴山县| 紫云| 南康市| 汕头市| 北安市| 合肥市| 集贤县| 崇义县| 阿尔山市| 上犹县| 木兰县| 淳安县| 佛坪县| 错那县| 班戈县| 定日县| 清丰县| 亳州市| 吉林省| 定州市| 图木舒克市| 泸水县| 沂南县| 临沭县| 都安| 教育| 宜君县| 德昌县| 洞口县| 灵宝市| 玉龙| 桃江县| 微博| 雷波县| 黑山县| 汉中市|