USB host 主机使用中断问题,以及串口中断嵌套问题

2019-07-20 03:50发布

手上有STM32F107/F407,两种板子。想做用串口发送指令和数据,对插入单片机的U盘进行读写操作,在中断这边出现很多问题

问题一
USB官方固件库初始化中断的时候,配置了两个中断,但是这俩中断不是一个中断组,为什么还可以运行?
不应该是一个工程只能配置一个中断组的吗

问题二
USB_OTG_BSP_EnableInterrupt这个中断配置我改过几次,只有这个中断是所在中断组内最后一个才能正常运行。
如果不是最后一个,现象:U盘插入可以识别,拔出来没反应,之后U盘在插入就不识别了

问题三
我想在串口相应中断里的处理函数中对U盘进行读写,需要中断嵌套,
如果USB中断只能是最后一个的话,那么抢占优先级就不能够打断USART中断,

这个串口控制读写方式不可行吗,正点原子的历程用定时器扫描进行读写的,而且USB中断也不是所在中断组的最后一个
求各位大佬解答一下,万分感谢。

可能存在的原因:FAT和USB固件库版本低三四个版本,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Scorpio95
1楼-- · 2019-07-20 08:04
顶一下顶一下顶一下顶一下顶一下
Scorpio95
2楼-- · 2019-07-20 08:53
 精彩回答 2  元偷偷看……
Scorpio95
3楼-- · 2019-07-20 11:38
USB_OTG_BSP_EnableInterrupt -> NVIC_PriorityGroup_2 -> 2 3
USB_OTG_BSP_TimeInit -> NVIC_PriorityGroup_2 -> 1 1
USART_NVIC -> NVIC_PriorityGroup_2 -> 3 3
我这样试了一下,莫名的成功了 ,串口能控制读写,
但中断组不能在main中一次性配置,要在每个中断函数里重新写
不知道为啥?

一周热门 更多>