rbwilcoxon11
New member
I have a hello blink program I wrote in assembler (trying to learn it) and found that the code will stop executing the main loop if I omit a serial println statement
Any ideas on what the reason might be? Arduino version 1.8.8, Teenyduino version 1.8.8.
Code:
int led = 13;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
// Serial.println("Why do I need this?");
asm volatile(
"start:\n"
"bl led_on\n"
"bl delay\n"
"bl led_off\n"
"bl delay\n"
"b done\n"
"led_on:\n"
"ldr r6, = 0x400FF080\n"
"ldr r0, = 0x20\n"
"str r0, [r6]\n"
"mov pc, LR\n"
"led_off:\n"
"ldr r6, = 0x400FF080\n"
"ldr r0, = 0x0\n"
"str r0, [r6]\n"
"mov pc, LR\n"
"delay:\n"
"ldr r1, = 0x1FFFFFF\n"
"delay_loop:\n"
"sub r1, r1, #1\n"
"cmp r1, #0\n"
"bne delay_loop\n"
"mov pc, LR\n"
"done:\n"
);
}
Any ideas on what the reason might be? Arduino version 1.8.8, Teenyduino version 1.8.8.