|
libxr
1.0
Want to be the best embedded framework
|
Serialize UART RX hardware callbacks against configuration / 串行化 UART RX 硬件回调与配置事务 More...
#include <uart_rx_config_gate.hpp>
Public Member Functions | |
| void | RequestConfig () |
| bool | TryEnterRx () |
| bool | LeaveRx () |
| bool | TryEnterConfig () |
| void | LeaveConfig () |
| bool | ConfigRequested () const |
| UartRxConfigGate (const UartRxConfigGate &)=delete | |
| UartRxConfigGate & | operator= (const UartRxConfigGate &)=delete |
Private Attributes | |
| std::atomic< uint32_t > | state_ {0U} |
Static Private Attributes | |
| static constexpr uint32_t | RX_ACTIVE = 1U << 0U |
| static constexpr uint32_t | CONFIG_PENDING = 1U << 1U |
| static constexpr uint32_t | CONFIG_ACTIVE = 1U << 2U |
Serialize UART RX hardware callbacks against configuration / 串行化 UART RX 硬件回调与配置事务
RX remains a single-producer data path. This gate only protects hardware state shared with configuration, such as DMA descriptors, positions, and stop/start operations. All transitions use one 32-bit atomic word so an RX exit cannot lose a concurrent configuration request. RX 仍是单生产者数据路径。本门仅保护与配置共享的 DMA 描述符、位置和启停等硬件状态。 所有转换共用一个 32 位原子字,避免 RX 退出时丢失并发配置请求。
Definition at line 22 of file uart_rx_config_gate.hpp.
|
inlinenodiscard |
Definition at line 74 of file uart_rx_config_gate.hpp.
|
inline |
Definition at line 59 of file uart_rx_config_gate.hpp.
|
inlinenodiscard |
Definition at line 37 of file uart_rx_config_gate.hpp.
|
inline |
Definition at line 25 of file uart_rx_config_gate.hpp.
|
inlinenodiscard |
Definition at line 52 of file uart_rx_config_gate.hpp.
|
inlinenodiscard |
Definition at line 27 of file uart_rx_config_gate.hpp.
|
staticconstexprprivate |
Definition at line 87 of file uart_rx_config_gate.hpp.
|
staticconstexprprivate |
Definition at line 86 of file uart_rx_config_gate.hpp.
|
staticconstexprprivate |
Definition at line 85 of file uart_rx_config_gate.hpp.
|
private |
Definition at line 89 of file uart_rx_config_gate.hpp.