标题:
在 STM32 上用汇编程序写流水灯程序
[打印本页]
作者:
385685698
时间:
2015-9-13 00:29
标题:
在 STM32 上用汇编程序写流水灯程序
我想要在STM3251RC 上用汇编来写 流水灯,我写了以下的代码。 但是, 不知道怎么可以让她来回在LED 灯排(10个 LED) 上跑动
这是我写的一些代码:
AREA mycode, CODE, READONLY
EXPORT __main
PERIPH_BASE_ONE EQU 0x40000000
Delay PROC
push {r1}
ldr r1, =0x60000 ;initial value for loop counter
again NOP ;execute two no-operation instructions
NOP
subs r1, #1
bne again
pop {r1}
bx lr
ENDP
pb4_initPROC
LDRr0, =PERIPH_BASE_ONE
ADD r0, #0x20000 ;AHBPERIPH_BASE
ADD r0, #0x3800;RCC_BASE
LDRr1, [r0,#0x1C] ;RCC->AHBENR
ORR r1,#2
STRr1, [r0,#0x1C]
LDRr0, =0x40000000 ;PERIPH_BASE
ADD r0, #0x20000 ;AHBPERIPH_BASE
ADD r0, #0x0400;GPIOB_BASE
;0xF00000FF
LDR r1, [r0,#0]
;AND r1, #0xFFFFFCFF ;GPIOB->MODER &= ~(0x00000300)
ORRr1, #0x00000100;GPIOB->MODER |= (0x00000100)
STRr1, [r0,#0]
LDRH r1, [r0,#4];GPIOB->OTYPER
ANDr1,#0xFFFFFFDF
STRH r1, [r0,#4]
LDR r1, [r0,#8];GPIOB->OSPEEDR
;ANDr1,#0xFFFFFCFF
ORR r1, #0x00000100
STR r1, [r0,#8]
LDR r1, [r0,#0x0C];GPIOB->PUPDR
;ANDr1,#0xFFFFFCFF
STR r1, [r0,#0x0C]
bxlr
ENDP
__mainPROC
BLpb4_init
LDRr0, =0x40000000 ;PERIPH_BASE
ADD r0, #0x20000 ;AHBPERIPH_BASE
ADD r0, #0x0400;GPIOB_BASE
loop
LDR r1, =0x10
STRH r1, [r0,#0x18]
BL Delay
STRH r1,[r0,#0x1A]
BL Delay
Bloop
ENDP
END
复制代码
作者:
yx9849
时间:
2015-9-13 09:10
为什么不用C,用C反编译后,可以对比
作者:
385685698
时间:
2015-9-13 10:56
已经用C语言 写过了但是不知道汇编要怎么写, 那位大神能帮帮忙啊?
作者:
aaaaaaaaaa
时间:
2015-9-13 11:49
给他来个调用c语言函数
作者:
385685698
时间:
2015-9-13 15:22
怎么写汇编啊?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1