diff options
Diffstat (limited to 'hal')
-rw-r--r-- | hal/usart.cpp | 7 | ||||
-rw-r--r-- | hal/usart.h | 12 |
2 files changed, 12 insertions, 7 deletions
diff --git a/hal/usart.cpp b/hal/usart.cpp new file mode 100644 index 0000000..c446302 --- /dev/null +++ b/hal/usart.cpp @@ -0,0 +1,7 @@ +#include "usart.h" + +template<> +void interrupt<Interrupt::USART1>() { + USART1.DR; + //GPIOB.ODR ^= 1 << 1; +} diff --git a/hal/usart.h b/hal/usart.h index 8fde39a..484d89e 100644 --- a/hal/usart.h +++ b/hal/usart.h @@ -1,13 +1,11 @@ #ifndef USART_H #define USART_H -template<> -void interrupt<Interrupt::USART1>() { - USART1.DR; - //GPIOB.ODR ^= 1 << 1; -} +#include "stm32.h" +#include "interrupt.h" +#include "thread.h" -void usart_enable() { +inline void usart_enable() { RCC.enable(RCC.USART1); USART1.BRR = 625; // 115200 baud USART1.CR1 = 0x202c; @@ -15,7 +13,7 @@ void usart_enable() { Interrupt::enable(Interrupt::USART1); } -void usart_send(uint8_t data) { +inline void usart_send(uint8_t data) { while(!(USART1.SR & 0x80)) { Thread::yield(); } // Wait for TXE. |