Search code examples
stm32mcu

does stm32 timer interrupt process parallelly?


for example, I use HAL_TIM_OC_Start_IT(&htim3, TIM_CHANNEL_1) to start Outcomparison Interrupt Mode. considering HAL_TIM_OC_DelayElapsedCallback().Will it process parallelly with commands in the main() or first process interrupt then resume to process in the main()?


Solution

  • The main context will stop, either between two instructions or occasionally part-way through a multi-part instruction (such as LDM "load-multiple").

    The interrupt will run to completion and then the main context will resume.

    For more details read section B1.5 of the ARMv7M architecture reference manual: https://developer.arm.com/documentation/ddi0403/latest (or the equivalent section of the ARMv6M ARM if you are using a Cortex-M0).