diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2019-01-02 23:08:37 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2019-01-03 21:23:46 -0700 |
commit | 33a15696519e161cd823baaf4214d1ed452a410a (patch) | |
tree | e3491b0b7b7c570b36c1e4c5235e2d026c651b2c /03-refactor/src/usart.c | |
parent | 109cdf120ea85f46d664e77c44ea2a311fd49ba2 (diff) | |
download | stm32l4-33a15696519e161cd823baaf4214d1ed452a410a.tar.gz stm32l4-33a15696519e161cd823baaf4214d1ed452a410a.tar.bz2 stm32l4-33a15696519e161cd823baaf4214d1ed452a410a.zip |
Add primitive printf functionality to the USART.
Diffstat (limited to '03-refactor/src/usart.c')
-rw-r--r-- | 03-refactor/src/usart.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/03-refactor/src/usart.c b/03-refactor/src/usart.c index fc58467..a64ad8b 100644 --- a/03-refactor/src/usart.c +++ b/03-refactor/src/usart.c @@ -1,5 +1,6 @@ #include "usart.h" #include "delay.h" +#include "printf.h" void set_usart1_clock_src(__IO rcc_t* rcc, usart_clk_src_t usart_clk_src) { @@ -78,3 +79,13 @@ void usart_transmit_str(__IO usart_t* usart, const char* str) usart_transmit_byte(usart, *(str ++)); } } + +void usart_printf(__IO usart_t* usart, const char* fmt, ...) +{ + printf_callback_t callback = (printf_callback_t) usart_transmit_byte; + volatile void* closure = usart; + va_list ap; + va_start(ap, fmt); + printf_format(fmt, callback, closure, ap); + va_end(ap); +} |