Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Пример работы с таймером
- ; http://teplofizik.diary.ru/p181188784.htm
- ; STM32F4-Discovery
- ; Проверять выравнивание стека (8 байт)
- PRESERVE8
- AREA |.text|, CODE, READONLY
- GET stm32f4xx.inc
- EXPORT SystemInit
- SystemInit PROC
- ; Возврат
- BX LR
- ENDP
- EXPORT __main
- __main PROC
- ; Загружаем базовое смещение регистра настройки тактирования
- MOV32 R0, RCC_APB1ENR
- ; Установить флаг разрешения тактирования таймера 6
- LDR R1, [R0]
- ORR R1, #RCC_APB1ENR_TIM6EN
- STR R1, [R0]
- ; Загружаем базовое смещение таймера 6
- MOV32 R0, TIMER6_BASE
- ; Записываем, до скольки считать
- MOV32 R1, 0x8000 ; Числа от балды
- STR R1, [R0, #TIM_ARR_OFFSET]
- ; Настраиваем предделитель таймера
- MOV32 R1, 0x0100 ; Числа от балды
- STR R1, [R0, #TIM_PSC_OFFSET]
- ; Включаем таймер TIM6
- MOV R1, #TIM_CR1_CEN ; Разрешить счёт
- STR R1, [R0, #TIM_CR1_OFFSET]
- __mainloop ; Вечный цикл
- ; Прочитаем состояние счётчика
- LDR R1, [R0, #TIM_CNT_OFFSET]
- ; Новый круг~
- B __mainloop
- ENDP
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement