ccw137 发表于 2023-9-12 16:18:51

请问STC32 硬件 USB-CDC 虚拟串口, 是否会阻碍进入掉电模式?

//请问,为什么,使用USB-CDC 虚拟串口,不能进入 掉电模式 ?

// 设置了 PD=1无效


#include "stc32g.h"
#include "stc32_stc8_usb.h"
#include "intrins.h"
#define FOSC 24000000UL
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Timer0_Init(void);
void main()
{
      WTST = 0;
      CKCON = 0;
      EAXFR = 1;
      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;


       // USB-CDC 虚拟串口 样例代码
      P3M0 &= ~0x03;
      P3M1 |= 0x03;
      IRC48MCR = 0x80;
      while (!(IRC48MCR & 0x01));
      USBCLK = 0x00;
      USBCON = 0x90;
      usb_init();
      EUSB = 1;
      EA = 1;
         
      PD = 1;//低耗模式


         //LED闪烁
         Timer0_Init();
      
      
      while (1);
}

void Timer0_Isr(void) interrupt 1
{//LED闪烁
      static unsigned char iii;
      if(iii>=100)
      {
               P53=~P53;
                iii=0;
      }else
      {
                iii++;
      }
}
void Timer0_Init(void)               
{
      AUXR &= 0x7F;               
      TMOD &= 0xF0;                        
      TL0 = 0xE5;                              
      TH0 = 0xBE;                              
      TF0 = 0;                              
      TR0 = 1;                              
      ET0 = 1;                              
      EA=1;
}

zhp 发表于 2023-9-13 13:26:39

会。
如果使能了USB功能,则必须设备进入suspend后CPU才能进入掉电模式
页: [1]
查看完整版本: 请问STC32 硬件 USB-CDC 虚拟串口, 是否会阻碍进入掉电模式?