色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

查看: 8668|回復(fù): 0
打印 上一主題 下一主題

[提問(wèn)] 華大單片機(jī)復(fù)位原因的確定

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-1-22 23:06:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
華大單片機(jī)-中國(guó)芯,中國(guó)夢(mèng)中國(guó)人用自己的“芯”
• 如有技術(shù)與價(jià)格疑問(wèn),可以隨時(shí)撥打電話或QQ咨詢
• 我司有強(qiáng)大的技術(shù)團(tuán)隊(duì),可根據(jù)您的要求進(jìn)行研發(fā)設(shè)計(jì),量身定做,客戶滿意是我們的最高宗旨~!
• 電話:18124577713  QQ:783592501 • 華大MCU交流QQ群: 164973950
華大單片機(jī)復(fù)位原因的確定
本文以華大MCU HC32F003為例說(shuō)明相應(yīng)的操作。
HC32F003一共有7個(gè)復(fù)位信號(hào)來(lái)源,每個(gè)復(fù)位信號(hào)都可以讓CPU重新運(yùn)行,絕大多數(shù)寄存器會(huì)被復(fù)位到復(fù)位值,程序計(jì)數(shù)器 PC 會(huì)被復(fù)位指向 00000000。

復(fù)位時(shí)復(fù)位標(biāo)識(shí)寄存器(Reset_flag )的復(fù)位值為 00000000_00000000_00000000_xxxxxx11b。

Ÿ POR/BOR 復(fù)位(VCC 域及 Vcore 域)
Ÿ 外部 Reset PAD 復(fù)位Ÿ WDT 復(fù)位
Ÿ PCA 復(fù)位Ÿ LVD 復(fù)位
Ÿ Cortex-M0+ SYSRESETREQ 軟件復(fù)位
Ÿ Cortex-M0+ LOCKUP 硬件復(fù)位

每個(gè)復(fù)位源由相應(yīng)的復(fù)位標(biāo)志進(jìn)行指示。復(fù)位標(biāo)志均由硬件置位,需要用戶軟件清零。

芯片復(fù)位時(shí),如果查詢到 Reset_flag. POR15V 或 Reset_flag. POR5V 為 1 則為 上電復(fù)位。

由于仿真器的局限性,芯片復(fù)位的時(shí)候不建議用仿真器來(lái)讀Reset_flag的值。建議使用UART將Reset_flag的值輸出。

下面以一段WDT復(fù)位的程序顯示一下,相關(guān)代碼如下:
#define DEBUG #include "gpio.h"
int main(){    int8_t RstData = 0;    if ( M0P_RESET->RESET_FLAG_f.POR15 || M0P_RESET->RESET_FLAG_f.POR5V )  //上電復(fù)位,清Reset_flag    {     M0P_RESET->RESET_FLAG = 0X00;    }    Clk_SetPeripheralGate(ClkPeripheralUart0, TRUE);          //開(kāi)UART0外設(shè)時(shí)鐘    Clk_SetPeripheralGate(ClkPeripheralBt, TRUE);             //開(kāi)定時(shí)器外設(shè)時(shí)鐘    Clk_SetPeripheralGate(ClkPeripheralGpio, TRUE);           //開(kāi)GPIO外設(shè)時(shí)鐘    RstData = (int8_t)M0P_RESET->RESET_FLAG ;                 #ifdef DEBUG  Debug_UartInit();                                           //調(diào)試串口初始化#endif  #ifdef DEBUG  printf("The RESET_FLAG is %x \n",RstData);                  //輸出調(diào)試內(nèi)容#endif      M0P_RESET->RESET_FLAG = 0X00;                             //清Reset_flag    M0P_CLOCK->PERI_CLKEN_f.WDT = 0X01;                       //打開(kāi)WDT時(shí)鐘    M0P_WDT->CON_f.WOV = 0X0A;                                //定時(shí)1.64s    M0P_WDT->CON_f.WINT_EN =    0X00;                         //WDT溢出復(fù)位    M0P_WDT->RST = 0x1E;                                      //啟動(dòng)WDT    M0P_WDT->RST = 0xE1;  while(1)  {     __enable_irq();   ;  }}

程序測(cè)試結(jié)果如下:
相關(guān)的測(cè)試代碼附件可以到論壇下載(閱讀原文)。

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表