看CH554EVT中的键鼠代码有个CH554USBDevWakeup()函数。
但是pc进入睡眠后,在CH552G上调用该函数,系统无法唤醒PC,于此同时其他的键鼠能唤醒PC。
/*******************************************************************************
* Function Name : CH554USBDevWakeup()
* Description : CH554设备模式唤醒主机,发送k信号
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void CH554USBDevWakeup( )
{
#ifdef Fullspeed
UDEV_CTRL |= bUD_LOW_SPEED;//????????
mDelaymS(2);
UDEV_CTRL &= ~bUD_LOW_SPEED;
#else
UDEV_CTRL &= ~bUD_LOW_SPEED; //????????
mDelaymS(2);
UDEV_CTRL |= bUD_LOW_SPEED;
#endif
}
-------------------------------------------- 分割线 --------------------------------------
//调用部分
void HIDValueHandle(UINT8 i)
{
if( WakeUp ) //需要唤醒标志
{
CH554USBDevWakeup();
}
else
{
switch(i)
{
case 'a':
break;
case 'b':
break;
default:
break;
}
}
}