在使用STM32系列单片机的时候,经常要使用到中断,但是STM32参考手册上关于中断只说明了有哪些中断源和中断向量表相关问题。没有具体说明触发中断的信号至少需要多长时间?中断检测到中断源需要多长时间?
在看 <<ARM Cortex-M3 Cortex-M4权威指南>>这本书的时候,上面提到了这两个问题。于是赶紧记录下来,以备以后需要时查看。
在权威指南的第74页说明了,ARM Cortex-M3 Cortex-M4内核的单片机中断等待需要12个周期。也就是说触发中断后,需要12个时钟周期,才能被系统识别到,并去处理。假如单片机时钟周期为72Mhz,那么检测中断的周期就为72/12=6MHz。
中断请求至少要持续一个时钟周期,也就是说如果使用脉冲触发中断时,脉冲的维持时间至少为单片机系统时钟周期的一个时钟周期。假如单片机时钟周期为72Mhz,那么脉冲的持续时间至少为 1/72Mhz=0.01388888888889us,大约14ns左右。