ccw137 发表于 2023-9-13 12:17:09

虚拟串口USB-CDC 造成 省电模式 失效?



// 发现一个问题,关于开启 USB-CDC 功能后,省电模式会失效。
// 测试代码 ,使用 PD=1 省电模式 ,LED 灯停止闪烁。
// 下面 样例代码中 ,USBCON = 0x90; EUSB = 1;是USB-CDC 虚拟串口的样例代码,排查后的精简故障代码(这两指令造成进入省电模式失效)。
//发现只要 加了 USBCON = 0x90; EUSB = 1; 省电模式进入失败,LED 依然会闪烁。
//难道 USB使能 能不断唤醒?



void main()
{
        P0M1 = 0x00; P0M0 = 0x00;
        P1M1 = 0x00; P1M0 = 0x00;
        P2M1 = 0x00; P2M0 = 0x00;
        P3M1 = 0x00; P3M0 = 0x00;
        P4M1 = 0x00; P4M0 = 0x00;
        P5M1 = 0x00; P5M0 = 0x00;
        P6M1 = 0x00; P6M0 = 0x00;
        P7M1 = 0x00; P7M0 = 0x00;

        USBCON = 0x90; EUSB = 1;
       
        Timer0_Init(); // LED 闪烁
        EA=1;

        PD=1; // 省电模式
       
        while (1);
}

zhp 发表于 2023-9-13 13:12:34

本帖最后由 zhp 于 2023-9-13 13:22 编辑

E使能USB功能后,在USB设备没有进入suspend状态时
即使写PD=1;CPU也是不会进入STOP模式的
页: [1]
查看完整版本: 虚拟串口USB-CDC 造成 省电模式 失效?