1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-26 15:03:53 +01:00
Marian Buschsieweke e1cfa0b2db
drivers/periph_uart: document acquire/release semantic
The UART API has not spelled out what happens when `uart_init()` is
called twice. This adds precise language that states that
acquire/release semantic is to be expected from the caller. Hence,
a caller needs to call `uart_poweroff()` before reconfiguring the UART
with a second call `uart_init()` for the same UART interface.

In practise, few apps will ever reconfigure the symbol rate. So the
impact is rather low.

However: This API now allows drivers to implement sharing of a serial
peripheral that can provide multiple interfaces (e.g. UART, SPI, I2C,
etc.). It would require some cooperation from the code that does use
the UART to actually release the UART again after each transaction;
something that will only work when RX data is only expected at
known points in time (e.g. in response to a request, or never in case
of TX only stdio). But still, this can mean the difference between
a use case becoming feasible on an MCU with a low number of serial
peripherals or not.
2025-01-24 16:46:24 +01:00
..
2019-11-23 22:39:07 +01:00
2020-04-17 16:43:16 +05:30
2020-09-29 14:42:15 +02:00
2020-02-27 08:46:40 +01:00
2022-09-16 14:00:35 +02:00
2022-09-14 15:05:25 +02:00
2024-05-28 12:20:54 +02:00
2021-11-05 12:49:37 +01:00
2020-02-12 07:34:22 +01:00
2019-11-23 22:39:07 +01:00
2020-05-04 18:18:00 +05:30
2022-04-20 09:23:50 +02:00
2021-04-27 17:37:52 +02:00
2021-08-13 19:50:38 +02:00
2024-10-21 15:13:23 +02:00
2021-08-13 19:50:38 +02:00
2019-11-23 22:39:07 +01:00
2019-03-14 14:32:28 +01:00
2020-04-29 14:32:00 +05:30
2020-11-18 09:13:56 +01:00
2020-04-16 17:17:27 +05:30
2023-06-08 14:33:38 +02:00
2021-12-16 15:19:44 +01:00
2020-04-01 13:37:22 +02:00
2021-08-13 19:50:38 +02:00
2021-07-07 08:40:02 +02:00
2019-11-23 22:39:07 +01:00
2021-08-13 19:50:38 +02:00
2021-08-13 19:50:38 +02:00
2022-09-14 15:05:25 +02:00
2022-03-09 15:23:51 +01:00
2020-04-23 15:49:55 +05:30
2024-06-12 13:11:45 +02:00
2023-01-31 21:05:07 +01:00
2020-06-17 08:41:41 +02:00
2020-04-22 21:57:05 +05:30
2021-08-13 19:50:38 +02:00
2023-06-01 16:52:26 +02:00
2019-11-27 13:35:57 +01:00
2021-08-13 19:50:38 +02:00
2020-07-17 15:05:32 +02:00
2021-08-13 19:50:38 +02:00
2021-08-13 19:50:38 +02:00
2021-11-04 10:39:36 +01:00
2023-02-27 12:31:04 +01:00
2019-11-23 22:39:40 +01:00
2021-04-08 10:14:30 +02:00
2022-09-16 11:12:27 +02:00
2021-08-13 19:50:38 +02:00
2021-08-13 19:50:38 +02:00
2021-11-30 10:31:22 +01:00
2020-08-25 16:20:18 +02:00
2020-11-22 23:12:40 +01:00
2023-09-20 15:55:34 +00:00
2021-11-08 18:42:05 +01:00
2022-05-18 17:06:12 +02:00
2022-09-14 15:05:25 +02:00
2019-11-23 22:39:40 +01:00
2022-09-14 15:05:25 +02:00
2022-09-14 15:05:25 +02:00
2020-04-09 13:34:51 +02:00
2022-09-16 14:00:35 +02:00