aboutsummaryrefslogtreecommitdiff
path: root/03-refactor/src/usart.c
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2018-01-24 00:12:03 -0700
committerJosh Rahm <joshuarahm@gmail.com>2018-01-24 00:12:03 -0700
commit80360c4b8361320b726897c86ee13f9b4caf004a (patch)
tree9a590055e440025d7d36701a540d9e7e39c082d4 /03-refactor/src/usart.c
parent2545ae2d57e5b70975e3fd3b3e570da13dbf62f0 (diff)
downloadstm32l4-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.c16
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;
}
}