diff options
| author | RyanCW <[email protected]> | 2025-08-16 11:51:57 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-16 11:51:57 +0800 |
| commit | e0243e87c0230f2afcdce3e1070755f78dfee9c7 (patch) | |
| tree | e1aff5d61d6231fee568b371fcb9a1864e93bdd8 /components/drivers/include | |
| parent | 329cffd77e203ab73f098188b0ec02b6ef6af0ed (diff) | |
[component][drivers][serial_v2] 优化serial_v2 (#10603)
* [bsp][stm32][drv_usart_v2] uart_isr不再使用链式调用,RXNE内循环读空,一些细节优化
* [componnents][drivers][serial_v2] 增加获取config接口,使用rt_tick_get_delta替代内部的时间绕回判断,写满丢弃策略rx接收数据错乱修复,clang-tidy和cppcheck审查优化
* [utest][drivers][serial_v2] 测试例程进行优化
* [bsp][stm32][drv_usart_v2] 撤回DMAMUX1修改
* [componnents][drivers][serial_v2] read和write不再返回-RT_ETIMEOUT改为已发送或读取的字节数,细节优化
* [utest][drivers][serial_v2] 增加单独的timeout测试,减少测试中的硬延时
* [utest][drivers][serial_v2] 漏提交的posix下标志位
* [utest][drivers][serial_v2] 优化测试例程
* [bsp][stm32][drv_usart_v2] transmit返回错误值,RXNE增加超时逻辑
* [componnents][drivers][serial_v2] 增加transmit错误处理,增加超时退出机制显式的避免死循环
* [componnents][drivers][serial_v2] 适配serial_v2和posix非libc标准库下的console和shell
Diffstat (limited to 'components/drivers/include')
| -rw-r--r-- | components/drivers/include/drivers/dev_serial_v2.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/components/drivers/include/drivers/dev_serial_v2.h b/components/drivers/include/drivers/dev_serial_v2.h index 5360b011e3..b987bc4543 100644 --- a/components/drivers/include/drivers/dev_serial_v2.h +++ b/components/drivers/include/drivers/dev_serial_v2.h @@ -210,6 +210,7 @@ #define RT_SERIAL_CTRL_RX_FLUSH 0x45 /* clear rx buffer. Discard all data */ #define RT_SERIAL_CTRL_TX_FLUSH 0x46 /* clear tx buffer. Blocking and wait for the send buffer data to be sent. not supported in poll mode */ #define RT_SERIAL_CTRL_GET_UNREAD_BYTES_COUNT 0x47 /* get unread bytes count. not supported in poll mode */ +#define RT_SERIAL_CTRL_GET_CONFIG 0x48 /* get serial config */ #define RT_SERIAL_ERR_OVERRUN 0x01 #define RT_SERIAL_ERR_FRAMING 0x02 @@ -336,7 +337,12 @@ struct rt_serial_device #ifdef RT_USING_SERIAL_BYPASS struct rt_serial_bypass* bypass; #endif + struct rt_device_notify rx_notify; + +#ifdef RT_USING_POSIX_STDIO + rt_bool_t is_posix_mode; +#endif }; /** |
