CH563 软件复位没起作用,求解

代码如下,按下按键后 i 并没有复位——     求软件复位用法


int main( void )
{
    UINT8 i=0;
    
    R32_PB_PU |= (1<<7);
    R32_PB_DIR &= (1<<7);
    
    LED_OUT_INIT( );   

    LED_OUT_ACT( );                                                             /* 开机后LED亮一下以示工作 */
    Delay_ms(10);                                                              
    LED_OUT_INACT( );
    mInitSTDIO( 256000 );                                                              /* 串口0初始化 */    

    while(1)
     {
        
         if((R32_PB_PIN & (1<<7)) == 0)   R8_GLOB_RST_CFG = 0x40 | RB_GLOB_FORCE_RST;                                // reset
            Delay_ms(100);
         UART1_SendByte(i);
         i++;
     }
 }

image.png

对该寄存器写操作时,必须对该寄存器的位6位7写入01,否则没办法进行写操作的。


R8_GLOB_RST_CFG = 0x40  |  RB_GLOB_FORCE_RST;                           

上面这写法不对吗?  我看IAP DEMO也是这样写的啊,但我测试了 没起作用啊


您好,您可以先去使用我们IAP的例子,在不使用那个软复位的情况下,LED灯是不会闪烁的,只有重新硬件复位或者,重新上电,才会执行新的闪灯的固件。


用IAP DEMO 反复试后知道了, R8_SAFE_ACCESS_SIG 要 unlocki_f30.gif


图片.png


只有登录才能回复,可以选择微信账号登录