新手入门
- 积分
- 18
- 金钱
- 18
- 注册时间
- 2019-10-29
- 在线时间
- 8 小时
|
1金钱
在开发HID与电脑交互时,如果去掉初始化USB中断,则GPIO_ReadInputDataBit可以调试通过,如果启用USB中断,则卡死。请各位大佬指教
RCC_ClocksTypeDef RCC_Clocks; //初始化
delayInit(72); //滴答定时器初始化
Init_Phone();
keyInit();
KEY4_Init();//4X4键盘初始化
Set_System();
USB_Interrupts_Config();
Set_USBClock();
RCC_GetClocksFreq(&RCC_Clocks); //获取各个时钟频率
USB_Init();
while (1)
{
//压簧
s=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9); //keil5调试时程序在这里卡死。
}
如果去掉 USB_Interrupts_Config();中断配置,则可以调试通过,但是USB设备识别不了。
中断配置代码如下:
NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //设置成DISABLE,也可以调试通过,但是USB设备识别不了。
NVIC_Init(&NVIC_InitStructure);
/* Enable the USB Wake-up interrupt */
NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
|
|