Questions:在Suspend状态下,若产生DP信号拉低会误置起WKUP , Resume唤醒序列中,误置起wakeup标志,导致resume 控制位提前被清除掉,从而引起唤醒时间太短,导致有些PC无法被唤醒 Answer:在 Resume 函数中加上if ((eResumeSetVal !=RESUME_ESOF) && (ResumeS.eState != RESUME_ON)),不会因为误置起的wakeup,调用Resume_Init()将resume标志提前清除。 修改方法如下红色字体部分 voidResume(RESUME_STATE eResumeSetVal) { u16 wCNTR; if ( (eResumeSetVal!= RESUME_ESOF) && (ResumeS.eState != RESUME_ON) ) ResumeS.eState = eResumeSetVal; switch (ResumeS.eState) { ...... 类型:MCU 应用 适用型号:AT32F403,AT32F413 主功能:USB
|