mirror of
https://github.com/EranMorkon/AMTS.git
synced 2023-12-28 16:48:38 +00:00
50 lines
1.4 KiB
ArmAsm
50 lines
1.4 KiB
ArmAsm
AREA BLINKEN, CODE, READONLY
|
|
INCLUDE STM32_F103RB_MEM_MAP.INC
|
|
EXPORT __main
|
|
|
|
__main PROC
|
|
BL init_port
|
|
LDR R1, =GPIOB_ODR
|
|
_main_again LDR R0, [R1]
|
|
EOR R0, R0, #0x100
|
|
STR R0, [R1]
|
|
BL wait_500ms
|
|
B _main_again
|
|
ENDP
|
|
|
|
init_port PROC
|
|
PUSH {R0-R2, LR}
|
|
|
|
MOV R2, #0x8
|
|
LDR R1, =RCC_APB2ENR
|
|
LDR R0, [R1]
|
|
ORR R0, R0, R2
|
|
STR R0, [R1]
|
|
|
|
LDR R1, =GPIOB_CRH
|
|
LDR R0, [R1]
|
|
LDR R2, =0xFFFFFFF0
|
|
AND R0, R0, R2
|
|
MOV R2, #0x03
|
|
ORR R0, R0, R2
|
|
STR R0, [R1]
|
|
|
|
POP {R0-R2, PC}
|
|
ENDP
|
|
|
|
wait_500ms PROC
|
|
PUSH {R0-R2, LR}
|
|
MOV R0, #0x1F4
|
|
MOV R1, #0
|
|
_wait_ms_loop MOV R2, #0x63B
|
|
_wait_ms_loop1 SUB R2, R2, #1
|
|
CMP R2, R1
|
|
BNE _wait_ms_loop1
|
|
SUB R0, R0, #1
|
|
CMP R0, R1
|
|
BNE _wait_ms_loop
|
|
POP {R0-R2, PC}
|
|
ENDP
|
|
|
|
END
|