CIU32M010、CIU32M030華大電子MCU通用輸入輸出、同步串行接口
參考價 | ¥3000 |
- 型號
- 其他品牌 品牌
- 代理商 廠商性質(zhì)
- 沈陽市 所在地
HC32F460 | 3000元 | 100 件 可售 |
訪問次數(shù):460更新時間:2021-08-31 09:38:05
1 | 1 |
---|
產(chǎn)品在設計中某些狀態(tài)下需要MCU進行復位,華大MCU包含了7個復位信號來源,每個復位信號都可以讓 CPU 重新運行,絕大多數(shù)寄存器會被復位到復位值,程序計數(shù)器 PC 會被復位指向 00000000。
● POR/BOR 復位(VCC 域及 Vcore 域)
●外部 Reset PAD 復位
●WDT 復位
●PCA 復位
●LVD 復位
●Cortex-M0+ SYSRESETREQ 軟件復位
●Cortex-M0+ LOCKUP 硬件復位
華大MCU每個復位源由相應的復位標志進行指示。復位標志均由硬件置位,需要用戶軟件清零。芯片復位時,如果查詢到 Reset_flag. POR15V 或 Reset_flag. POR5V 為 1 則為上電復位。上電復位時用戶程序應當將寄存器 Reset_flag 清零,則下一次復位時可通過 Reset_flag的相關比特判斷復位來源。
這些復位源中Cortex-M0+ SYSRESETREQ 軟件復位為主動復位,工程師可以在程序中根據(jù)自己的需要進行操作,其它的復位為被動復位,當運行的條件滿足時會自動復位。下面介紹下華大MCU如何實現(xiàn)軟件復位。
軟件復位的函數(shù)包涵在core_cm0plus.h頭文件中,形式為:
#define NVIC_SystemReset __NVIC_SystemReset
函數(shù)的原型為:
__STATIC_INLINE void __NVIC_SystemReset(void)
{
__DSB(); /* Ensure all outstanding memory accesses included
buffered write are completed before reset */
SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
SCB_AIRCR_SYSRESETREQ_Msk);
__DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */
{
__NOP();
}
}
工程建立好后,工程師在使用的時候直接調(diào)用就可以,以上就是華大MCU如何實現(xiàn)軟件復位操作流程。