Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .type SysTick_Handler, %function
- @ --parameters--
- @ none
- SysTick_Handler:
- push {lr}
- bl red_led_toggle
- @ Read state of red LED
- ldr r0, =ADR_GPIOB
- ldr r1, =OFS_GPIOx_ODR
- ldr r2, =2
- bl read_bit
- beq SysTick_Handler_disable_EXIT0
- SysTick_Handler_enable_EXIT0:
- @ First clear both EXTI and NVIC interrupt pending.
- @ EXTI_PR_clear_pending 0
- ldr r0, =(ADR_EXTI + 0x14)
- ldr r1, =(1 << 0)
- str r1, [r0]
- @ NVIC_set ICPR 6
- ldr r0, =ADR_NVIC
- ldr r1, =OFS_NVIC_ICPR0
- ldr r2, =(1 << 6)
- str r2, [r0, r1]
- @ Then enable EXTI0 interrupt
- @ NVIC_set ISER 6
- ldr r0, =ADR_NVIC
- ldr r1, =OFS_NVIC_ISER0
- ldr r2, =(1 << 6)
- str r2, [r0, r1]
- b SysTick_Handler_end
- SysTick_Handler_disable_EXIT0:
- @ Simply disables the interrupt
- @ NVIC_set ICER 6
- ldr r0, =ADR_NVIC
- ldr r1, =OFS_NVIC_ICER0
- ldr r2, =(1 << 6)
- str r2, [r0, r1]
- SysTick_Handler_end:
- pop {lr}
- bx lr
- .size SysTick_Handler, .-SysTick_Handler
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement