有一个需求,通过配置N32G031 MCU的GPIO为输入(上升沿触发的中断方式),来检测USB2.0的数据D+/D-信号。
如果USB的数据pin上有上升沿,就触发一个次中断。
USB2是480Mbps的速度,传输一个bit,只需要0.002us。
MCU是48MHZ,1个时钟周期是0.02us,执行1个指令,假设可能要2-4个时钟周期,那1个指令,至少也要0.04us。
这样的话,就可能出现第1个的中断MCU还没处理,就已经又有2个或者更多的中断过来了(所有中断都是同一个GPIO pin触发的)。
请教:
这种情况下,MCU会暂停处理当前的中断,先跑去处理新的中断吗?如果是这样的话,有没有什么方法解决?比如能够设置这个pin的中断不能嵌套之类的。
还是说MCU会自动先响应处理当前的中断,处理完后,再来响应新的中断。
感谢。
翻译
搜索 复制
|