1.實驗環境
1.野火stm32指南者(stm32f103vet6)2.環境搭建新建工程2.keil5
新增原始檔(.s)
連線開發板,開始debug
生成的hex檔案
原始碼
led0 equ 0x40010c00
rcc_apb2enr equ 0x40021018
gpioa_crh equ 0x40010804
stack_size equ 0x00000400
area stack, noinit, readwrite, align=3
stack_mem space stack_size
__initial_sp
area reset, data, readonly
__vectors dcd __initial_sp ; top of stack
dcd reset_handler ; reset handler
area |.text|, code, readonly
thumb
require8
preserve8
entry
reset_handler
bl led_init
mainloop bl led_on
bl delay
bl led_off
bl delay
b mainloop
led_init
push
ldr r0,=rcc_apb2enr
orr r0,r0,#0x04
ldr r1,=rcc_apb2enr
str r0,[r1]
ldr r0,=gpioa_crh
bic r0,r0,#0x0f
ldr r1,=gpioa_crh
str r0,[r1]
ldr r0,=gpioa_crh
orr r0,r0,#0x03
ldr r1,=gpioa_crh
str r0,[r1]
mov r0,#1
ldr r1,=led0
str r0,[r1]
pop
led_on
push
mov r0,#0
ldr r1,=led0
str r0,[r1]
pop
led_off
push
mov r0,#1
ldr r1,=led0
str r0,[r1]
pop
delay
push
movs r0,#0
movs r1,#0
movs r2,#0
delayloop0
adds r0,r0,#1
cmp r0,#330
bcc delayloop0
movs r0,#0
adds r1,r1,#1
cmp r1,#330
bcc delayloop0
movs r0,#0
movs r1,#0
adds r2,r2,#1
cmp r2,#15
bcc delayloop0
pop
; nop
end
STM32彙編LED工程
要移植作業系統,彙編是道不得不跨過去的坎。所以承接上篇的思路,我準備用彙編寫乙個簡單的閃爍led燈的程式。以此練習彙編,為作業系統做準備。第一步,還是和上篇一樣,建立乙個空的資料夾。第二步,因為是要用彙編來寫程式,所以不需要啟動 這裡選擇否。第三步,建立乙個.s檔案,並把檔案新增到工程中。第四步,在...
stm32程式設計學習
今天學習了stm 32程式設計引用按鍵 按鍵 如下 ifndef key h define key h include sys.h define key0 gpio readinputdatabit gpioe,gpio pin 4 讀取按鍵0 define key1 gpio readinputd...
幾個簡單的stm32匯程式設計序
例1,用組合語言完成1 10的加法 stack top equ 0x00002000 sp初始值,常數 area reset,code dcd stack top 棧頂 msp的 dcd start 復位向量 entry 指示程式從這裡開始執行start 初始化暫存器 mov r0,10 載入迴圈變...