rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit 13c96d1181684dbb12fd6a76a5c4e921f0df0826
parent 6c99cffa61c6c955bd3767a19e3a9207c3981aa0
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Fri, 24 Mar 2023 09:49:28 +0900

rewrite push and pop in functions
uart pins are connected in a wrong way

Diffstat:
Mmain.s | 26+++++++++-----------------
1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/main.s b/main.s @@ -140,35 +140,31 @@ reset_chk: bx lr uart0_write: - push {lr} - push {r4, r5, r6, r7} + push {r4, r5, r6, r7, lr} mov r4, #0xFF and r4, r4, r0 ldr r5, uart0_base - mov r6, #32 + mov r6, #32 // TXFF uart0_txff: + bl p0 ldr r7, [r5, #0x18] // UART0_UARTFR and r7, r7, r6 - bne uart0_txff + //bne uart0_txff str r4, [r5, #0] // UART0_UARTDR - pop {r4, r5, r6, r7} - pop {pc} + pop {r4, r5, r6, r7, pc} uart0_read: - push {lr} - push {r4, r5, r6} + push {r4, r5, r6, lr} ldr r4, uart0_base mov r5, #16 uart0_rxfe: - bl p1 ldr r6, [r4, #0x18] // UART0_UARTFR and r6, r6, r5 bne uart0_rxfe ldr r0, [r4, #0] // UART0_UARTDR mov r4, #0xFF and r0, r0, r4 - pop {r4, r5, r6} - pop {pc} + pop {r4, r5, r6, pc} pr: // print register @@ -207,18 +203,14 @@ p1: pop {pc} led_blink: - push {lr} - push {r4, r5} + push {r4, r5, lr} ldr r4, sio_base mov r5, r0 - push {r5} str r5, [r4, #0x10] // SIO_GPIO_OUT_SET bl delay - pop {r5} str r5, [r4, #0x18] // SIO_GPIO_OUT_CLR bl delay - pop {r4, r5} - pop {pc} + pop {r4, r5, pc} delay: mov r0, #1