C8051 LaserBee Software Reset

mac2024-05-21  34

如果只是单纯的软件复位,需先将R0寄存器清0:

   #define mcu_ResetToRunApp(x) do { \

      SFRPAGE = 0x00;\

      *((uint8_t SI_SEG_DATA *)0x00) = 0; \

      RSTSRC = RSTSRC_SWRSF__SET | RSTSRC_PORSF__SET; } while(0)

 

因为在软件复位前,若R0的值等于0xA5,则MCU在复位之后会进入bootloader模式,这个并不是我们所需要的。

 

 

最新回复(0)