new-sonar/firmware/hello_world_c/main.c

55 lines
953 B
C

#include "uart.h"
#include <stdint.h>
void write_cstring(const char* string);
void write_char(char c);
int main() {
for (;;) {
write_char('H');
write_char('e');
write_char('l');
write_char('l');
write_char('o');
write_char(' ');
write_char('W');
write_char('o');
write_char('r');
write_char('l');
write_char('d');
write_char('!');
write_char('\n');
write_char('\r');
}
}
void write_char(char c) {
while (!UART0->TXEMPTY);
// Wait for room to clear up
if (!UART0->TXFULL) {
UART0->RXTX = c;
}
}
void write_cstring(const char* string) {
int i = 0;
for (;;) {
// Return at end of string
if (string[i] == 0) {
return;
}
// Wait for room to clear up
if (!UART0->TXFULL) {
UART0->RXTX = string[i];
}
i += 1;
}
}