|
开发 STM32F105 USB Host 系统,包含两路按键 EXTI 外部中断 + USB 主机全局中断,使用旧版库 STM32_F105-07_F2xx_USB-Host-Device_Lib_V2.0.0。 系统主频 8MHz 外部晶振,PLL 倍频供给 USB 主机时钟。 NVIC 抢占优先级配置 两路按键 EXTI 中断:抢占优先级 3,子优先级 0 USB 配套定时器:抢占优先级 2,子优先级 0 USB 全局中断 OTG_FS_IRQn:抢占优先级 5,子优先级 0 按键开关函数 void STM32_UP_Button_OnOff(FunctionalState NewState) { EXTI_InitTypeDef EXTI_InitStructure; EXTI_StructInit(&EXTI_InitStructure); EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Line = UP_BUTTON_EXTI_LINE; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; if(NewState == DISABLE) { EXTI_InitStructure.EXTI_LineCmd = DISABLE; } else { EXTI_InitStructure.EXTI_LineCmd = ENABLE; } EXTI_Init(&EXTI_InitStructure); } 程序运行在 USBH_USR_MSC_Application 函数内部时,调用上述函数开启 / 关闭按键中断完全无效;Keil 调试能看到 EXTI 屏蔽寄存器配置被正常改写,但按下按键***进不去 EXTI 中断。 需求:需要在 MSC 应用任务内动态切换按键中断开关,当前逻辑不生效。 |
调用HAL_FLASH_OB_Unlock()直接进入 HardFaultHandler
STM32 增加 WiFi + 以太网的低成本方案
NUCLEO G474RE无法运行程序
STM32F407VGT6 开发板Beak at address "0x0" with no debug information our outside
BootLoader 与 DFU 模式的区别
调度器原子变量相关问题
运行到 WRITE_REG (FLASH->OPTKEYR, FLASH_OPTKEY1)跳转 HardFaultHandler
STM32F417IG 单端外部时钟旁路HSE Bypass问题
STM32L4A6 SDMMC 无法使用 1.8V IO 驱动 microSD 卡
STM32L4P5xx 系统内 Bootloader:RAM3 能否用作栈指针内存?
微信公众号
手机版