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

29 Commits

Author SHA1 Message Date
711854562b
Merge pull request #12236 from twostairs/cpu_stm32_common_periph_gpip-pd
cpu/stm32_common/periph/gpio: Pull-down on gpio_init_af
2019-09-18 20:02:40 +02:00
Marius
e87529b4e4
Pull-up on RX pin 2019-09-15 23:55:39 +02:00
Toon Stegen
95b61a1970 cpu/stm32_common/uart: fix typos in rts/cts pins 2019-08-30 14:17:14 +02:00
Toon Stegen
3f74a8a7b4 cpu/stm32_common/uart: init rts at right time
once hardware flow control is enabled, rts should only be initialized
after the uart is enabled by setting the UE flag. This is stated in the
stm32f4 errata.
2019-08-27 19:15:47 +02:00
Toon Stegen
ac1d1ffda2 cpu/stm32_common: enable/disable uart peripheral
in uart_poweroff the peripheral should be disabled through the register
instead of just disabling the peripheral clock. In uart_poweron the
peripheral should be enabled after enabling the clock.

Not explicitely disabling the peripheral causes some bad signals on the
uart line sometimes.
2019-08-27 19:09:36 +02:00
Francisco Molina
c166b73e61 cpu/stm32_common: uniformize define alignments 2019-07-24 09:02:47 +02:00
Vincent Dupont
e9fd193969 cpu/stm32_common: set RTS when uart is off 2019-04-19 17:47:24 +02:00
fafc26819a
Merge pull request #10942 from OTAkeys/fix/stm32_uart_dma
cpu/stm32_common: fix DMA releasing in UART driver
2019-03-29 10:06:31 +01:00
Yegor Yefremov
ca8f74a0b0 cpu/stm32_common: use correct data bits macro
USART_CR1_M combines both USART_CR1_M0 and USART_CR1_M1 macros
affecting bits 12 and 28 on 7 data bits capable UARTs. Whereas
for other UARTs USART_CR1_M macro affects only bit 12.

This patch fixes wrong data bits usage on 7 data bits capable
UARTs with using USART_CR1_M0 macro for modes 8-E-x and 8-O-x.

It also simplifies bits unsetting as USART_CR1_M macro clears
all data bits related bits for both UART types.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-03-17 18:58:34 +01:00
Vincent Dupont
2b6d0757f9 cpu/stm32_common: fix DMA releasing in UART driver 2019-02-04 14:26:39 -08:00
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