diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2018-01-24 00:12:03 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2018-01-24 00:12:03 -0700 |
commit | 80360c4b8361320b726897c86ee13f9b4caf004a (patch) | |
tree | 9a590055e440025d7d36701a540d9e7e39c082d4 /03-refactor/src/usart.c | |
parent | 2545ae2d57e5b70975e3fd3b3e570da13dbf62f0 (diff) | |
download | stm32l4-80360c4b8361320b726897c86ee13f9b4caf004a.tar.gz stm32l4-80360c4b8361320b726897c86ee13f9b4caf004a.tar.bz2 stm32l4-80360c4b8361320b726897c86ee13f9b4caf004a.zip |
More fields in USART and RCC set to use bitfields.
Diffstat (limited to '03-refactor/src/usart.c')
-rw-r--r-- | 03-refactor/src/usart.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/03-refactor/src/usart.c b/03-refactor/src/usart.c index eddfbe7..a3b0061 100644 --- a/03-refactor/src/usart.c +++ b/03-refactor/src/usart.c @@ -31,23 +31,19 @@ void set_usart1_clock_enabled(__IO rcc_t* rcc, bool enable) void usart_set_parity(__IO usart_t* usart, usart_parity_t parity) { - uint32_t c_r1 = usart->c_r1; - c_r1 &= ~(0x3 << 9); - c_r1 |= parity; - usart->c_r1 = c_r1; + usart->c1.pce = !!parity; + usart->c1.ps = parity & 1; } void usart_set_enabled(__IO usart_t* usart, usart_enable_t enabled) { - uint32_t c_r1 = usart->c_r1; - if (!enabled) { - usart->c1_bf.ue = 0; + usart->c1.ue = 0; } else { /* Set the rx enabled. */ - usart->c1_bf.re = !!(enabled & USART_ENABLE_RX); - usart->c1_bf.te = !!(enabled & USART_ENABLE_TX); - usart->c1_bf.ue = 1; + usart->c1.re = !!(enabled & USART_ENABLE_RX); + usart->c1.te = !!(enabled & USART_ENABLE_TX); + usart->c1.ue = 1; } } |