我遇到的问题描述一下: 1、我使用看门狗进行周期复位测试的时候,有时候会在系统重启后出现,usb Host找不到设备的情况(设备是一直插到host上的)。即:
g_sUSBHCD.eDeviceState[0]状态始终没有变为HCD_DEV_CONNECTED的时候。基本会有100次出现那么2到3次。
如果出现的时候,使用5732的reset pin引脚进行复位的话,就能够正常找到usb设备。
2、看门狗的配置如下:
void wdogInit(void)
{
unsigned long ulValue = 5*SysCtlClockGet(); // 准备定时2000ms
SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG); // 使能看门狗模块
WatchdogResetEnable(WATCHDOG_BASE); // 使能看门狗复位功能
WatchdogStallEnable(WATCHDOG_BASE); // 使能调试器暂停看门狗计数
WatchdogReloadSet(WATCHDOG_BASE, ulValue); // 设置看门狗装载值
WatchdogEnable(WATCHDOG_BASE); // 使能看门狗
WatchdogLock(WATCHDOG_BASE); // 锁定看门狗
}
3、使用软件周期复位进行测试,同样也会出现类似的情况。
SysCtlReset();
感觉软件复位和看门狗复位与硬件pin(reset)复位,对5732来说应该某些特性不一样。导致有时会出现找不到usb设备情况出现?? |