Mein Microcontroller springt über meine Tastenabfrage?
#include "TM4C123.h"
.global main
main:
/*GPIOF PORT AKTIVIEREN*/
ldr r0,=0x400FE608
ldr r1,=0x20
str r1,[r0]
/*GPIO DIR*/
ldr r0,=0x40025400
ldr r1,=0x0E
str r1, [r0]
/*GPIO DEN*/
ldr r0,=0x4002551C
ldr r1,=0x1F
str r1,[r0]
/*GPIO AFSEL*/
ldr r0,=0x40025420
ldr r1,=0x00
str r1,[r0]
/*GPIO DATA*/
ldr r0,=0x400253FC
ldr r1,=0x00
str r1,[r0]
/*Pull Up Widerstand aktivieren*/
ldr r0,=0x40025510
ldr r1,=0x10
str r1,[r0]
Check_Input:
ldr r0,=0x400253FC
ldr r1,[r0]
lsr r2,r1,#4
cmp r2, #0
beq loop
b Check_Input
loop:
/*Rote LED einschalten*/
ldr r0,=0x400253FC
ldr r1,=0x02
str r1,[r0]
bl delay
ldr r0,=0x400253FC
ldr r1,=0x00
str r1,[r0]
bl delay
/*Grüne LED einschalten*/
ldr r0,=0x400253FC
ldr r1,=0x04
str r1,[r0]
bl delay
ldr r0,=0x400253FC
ldr r1,=0x00
str r1,[r0]
bl delay
/*Blaue LED einschalten*/
ldr r0,=0x400253FC
ldr r1,=0x08
str r1,[r0]
bl delay
ldr r0,=0x400253FC
ldr r1,=0x00
str r1,[r0]
bl delay
b loop
delay:
/*Wert setzen*/
ldr r0,=0xE000E014
ldr r1,=0x000C34FF
str r1,[r0]
/*Warten auf Timerablauf*/
ldr r0,=0xE000E010
ldr r1,=0x01
str r1,[r0]
/*Timer-durchlauf*/
Wait_loop:
ldr r0,=0xE000E018
ldr r1,[r0]
cmp r1, #0
bne Wait_loop
bx lr
Kann mir jemand erklären warum im Debug Modus der Taster berücksichtigt wird, also mit Step Into und wenn ich auf Continue drücke nicht ? Danke schonmal:)
Assembler,
taster