@.CharSet=CP1251
@GNU AS

@ +----------------------------------------------------------------------+
@ |         Демонстрационная программа регулировки громкости             |
@ |      на диффузорном динамике при помощи изменения скважности PWM     |
@ +----------------------------------------------------------------------+
@ |                                                                      |
@ | Подключение: GPIOA pin 15 -выход на  транзисторный ключ динамика     |
@ |                                     К        _________               |
@ |                     _______      Б |----------|____|------> +5 v     |
@ |  GPIOA pin.15 -----| 1 kom |-------|                                 |
@ |                    +-------+       |-->---------+                    |
@ |                                      Э          |                    |
@ |                                                --- GND               |
@ +----------------------------------------------------------------------+

.syntax unified     @ синтаксис исходного кода
.thumb              @ тип используемых инструкций Thumb
.cpu cortex-m4      @ процессор
.fpu fpv4-sp-d16    @ сопроцессор

.section .rodata
START_SOUND:  .short 1000   @ первая нота
              .byte 1       @ тон
              .byte 1       @ заполнение\громкость  - минимальная громкость

              .short 1000   @ вторая нота
              .byte 1       @ тон
              .byte 3       @ заполнение\громкость  - средняя громкость

              .short 1000   @ третья нота
              .byte 1       @ тон
              .byte 20      @ заполнение\громкость  - максимальная громкость

              .short 0      @ стоп

.section .asmcode

@ основная программа
.global Start
Start:

.INCLUDE  "/src/periph/gpio/rcc_ahb1enr_gpio_set.inc"   @ включим GPIOA
.INCLUDE  "/src/periph/gpio/gpio_a_conf.inc"            @ настроим пины GPIOA

                    @ настройка  тактирования
                    BL   SYSCLK84_START

                    BL SYSTICK_START

                    BL TIM2_CH1_PWM_INIT

               @ стартовый звук - 3 звуковых тона разной громкости
                    LDR        R0, = START_SOUND
                    BL         BUZZER_TONE

MAIN_LOOP:          B    MAIN_LOOP


