1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

19 Commits

Author SHA1 Message Date
Yegor Yefremov
60f745a033 cpu/stm32_common: add support for uart_mode routine
Add support for specifying data bits, stop bits and parity at
runtime.

Introduce feature periph_uart_modecfg for uart_mode() till all
other CPUs implement it.

STM32 L1, F1, F2, F4 supports following modes:

* 7E1, 7E2
* 7O1, 7O2
* 8N1, 8N2
* 8E1, 8E2
* 8O1, 8O2

STM32 L0, L4, F0, F3, F7 supports following modes:

* 6E1, 6E2
* 6O1, 6O2
* 7E1, 7E2
* 7O1, 7O2
* 7N1, 7N2
* 8N1, 8N2
* 8E1, 8E2
* 8O1, 8O2

Use USART_CR1_M1 macro to detect 7-bit support because
even inside one family there could be devices that don't
support 7-bit mode. So just using a family macro is not
enough.

As stated in the datasheets for L0, L4, F0, F3, F7 devices,
data bits can only be changed when UART is disabled (UE=0).
Introduce uart_stop() routine to satisfy this requirement.

STM32 UART adds parity to the MSB of a byte to send. The same
also applies to the received bytes. As a result this bit must
be masked in order to get the pure data.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-01-31 14:15:20 +01:00
Vincent Dupont
8c99edc18e cpu/stm32_common: fix UART ISR_TXE usage 2019-01-08 09:32:18 +01:00
Vincent Dupont
021697ae94 cpu/stm32_common: adapt DMA driver for f0/1/3/l0/1/4 2019-01-08 09:32:18 +01:00
Leandro Lanzieri
b32da1b13e
Merge pull request #10615 from MrKevinWeiss/pr/debug/init
cpu/stm32_common/uart: Prevent uart from sending if not initialized
2018-12-19 12:14:00 +01:00
MrKevinWeiss
96f8438ea2 cpu/stm32_common/uart: Prevent uart from sending if not initialized
Due to the stdio getting called after periph_init the uart may send before initialized.
This adds a simple check so the uart does not get into a locked-up state.
2018-12-18 10:16:50 +01:00
133968ce8a cpu/stm32_common: add support for lpuart 2018-12-13 12:39:00 +01:00
Vincent Dupont
8fc63738f6 cpu/stm32_common: adapt UART driver to use DMA 2018-05-23 11:09:46 +02:00
Vincent Dupont
1aee2f1f14 cpu/stm32_common: add pm support in uart driver 2018-03-06 15:13:00 +01:00
Hauke Petersen
87200c4803 cpu/stm32: removed file guards from periph drivers 2017-11-09 16:27:24 +01:00
Martine Lenders
12bf670ac4 Merge pull request #7665 from aabadie/pr/stm32/periph_dox_fix
cpu/stm32_common/periph: fix doxygen parent group
2017-10-13 13:10:49 +02:00
Vincent Dupont
be588c2f0e cpu/stm32_common: use pseudomodule for UART HW FC 2017-10-10 14:09:05 +02:00
2a1a7395f8 cpu/stm32_common/periph: fix doxygen grouping 2017-10-01 21:55:59 +02:00
smlng
692cf96297 doc: fix doxygen grouping of cpu periph drivers 2017-06-26 14:42:11 +02:00
Hauke Petersen
7079d481c7 cpu/stm32: added support for STM32F7 2017-05-08 09:16:12 +02:00
Hauke Petersen
964deefc39 cpu: added support for stm32l4 2017-03-30 16:58:34 +02:00
Vincent Dupont
a8da073f51 cpu/stm32_common: add UART HW flow control 2017-03-29 09:35:29 +02:00
55bb8874f3 cpu/stm32_common: special case for STM32L0 cpu family 2017-02-24 16:12:00 +01:00
Hauke Petersen
c3f54e9d7f cpu/stm32_common: init RX pin only if RX is active 2017-02-09 10:42:53 +01:00
Hauke Petersen
625d804fcb cpu/stm32_common: unified UART driver 2017-01-05 11:00:18 +01:00