diff options
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); +} |