From a93e506b78b7379e14c23ae80a5281485897faee Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Sat, 6 Jan 2018 19:47:40 -0500 Subject: [PATCH] serial support --- Makefile | 2 +- include/serial.h | 8 ++++++++ lib/liblua.a | Bin 172446 -> 0 bytes src/main.c | 25 ++++++++++++++++++------- src/serial.c | 27 +++++++++++++++++++++++++++ 5 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 include/serial.h delete mode 100644 lib/liblua.a create mode 100644 src/serial.c diff --git a/Makefile b/Makefile index 87dd3a0..ad5b99f 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ OFILES = $(patsubst src/%.c, $(OUTDIR)/%.o, $(CFILES)) \ $(patsubst src/%.s, $(OUTDIR)/%.asm.o, $(AFILES)) LIBDIR = -Llib -LIBS = -llua +LIBS = HEX = main.hex diff --git a/include/serial.h b/include/serial.h new file mode 100644 index 0000000..5b90748 --- /dev/null +++ b/include/serial.h @@ -0,0 +1,8 @@ +#ifndef SERIAL_H_ +#define SERIAL_H_ + +void serial_init(void); +void serial_put(int c); +char serial_get(void); + +#endif // SERIAL_H_ diff --git a/lib/liblua.a b/lib/liblua.a deleted file mode 100644 index d5a4c6b399b7b195fd42e4fd3f9696f4b0672397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172446 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 #include #include +#include /** * Accomplishments: @@ -15,7 +16,8 @@ * - gpio lib * - lcd support * - initrd support - * - lua? + * - lua? - no, something better, smaller + * - serial IO */ void pulse(uint8_t byte); @@ -35,12 +37,14 @@ int main(void) gpio_mode(GPIOA, 5, OUTPUT); + serial_init(); + task_init(kmain); while (1); } -void task(void); +void serial_getter(void); void kmain(void) { asm("cpsie i"); @@ -48,12 +52,11 @@ void kmain(void) task_start(lcd_handler, 128); delay(200); - char *s = initrd_getfile("test.txt"); - const char *t = "Yoyoyo"; - - asm("mov r0, %0; svc 2" :: "r" (s)); - asm("mov r0, %0; svc 2" :: "r" (t)); + //char *s = initrd_getfile("test.txt"); + // svc puts + //asm("mov r0, %0; svc 2" :: "r" (s)); + task_start(serial_getter, 128); while (1) { gpio_dout(GPIOA, 5, 1); delay(500); @@ -62,3 +65,11 @@ void kmain(void) } } +void serial_getter(void) +{ + char buf[2] = { 0, 0 }; + while (1) { + buf[0] = serial_get(); + asm("mov r0, %0; svc 2" :: "r" (buf)); + } +} diff --git a/src/serial.c b/src/serial.c new file mode 100644 index 0000000..692faf0 --- /dev/null +++ b/src/serial.c @@ -0,0 +1,27 @@ +#include +#include + +void serial_init(void) +{ + gpio_mode(GPIOA, 2, ALTERNATE); + gpio_mode(GPIOA, 3, ALTERNATE); + GPIOA->AFR[0] &= ~(0x0000FF00); + GPIOA->AFR[0] |= 0x00007700; + RCC->APB1ENR1 |= RCC_APB1ENR1_USART2EN; + + // start usart device + USART2->BRR = 80000000L / 115200L; + USART2->CR1 |= USART_CR1_TE | USART_CR1_RE | USART_CR1_UE; +} + +void serial_put(int c) +{ + while (!(USART2->ISR & USART_ISR_TXE)); + USART2->TDR = c & 0xFF; +} + +char serial_get(void) +{ + while (!(USART2->ISR & USART_ISR_RXNE)); + return USART2->RDR & 0xFF; +}