22020843 发表于 2023-2-6 18:41:52

[求助]9位字长无奇偶校验1位停止位,HAL库串口不定长度丢失数据

采用坛友“旮旯旭” 基于STM32CubeMX创建的串口DMA不定长玩法,没有进行很大改动,在STM32F103C8T6使用时丢失一个字节,数据错乱,而更改配置位8位字长时正常。

22020843 发表于 2023-2-6 18:43:34

等下我截下图,有哪位知道问题在那吗?

22020843 发表于 2023-2-6 18:43:57

https://www.armbbs.cn/forum.php?mod=viewthread&tid=93714 3、坛友“旮旯旭” 基于STM32CubeMX创建的串口DMA不定长玩法, 也非常好 (1)STM32V6之串口HAL库串口空闲中断接收不定长字节代码实现 https://www.armbbs.cn/forum.php?mod=viewthread&tid=101377

22020843 发表于 2023-2-6 20:10:25

eric2013 发表于 2023-2-7 00:34:18

9位的话,DMA缓冲大小和位宽都做了对应修改了吧,别的没有要注意的了。

xhc281358765 发表于 2023-2-7 09:03:23

你的数据位数9位,接受软件也应该设置对应配置好9位

22020843 发表于 2023-2-7 19:30:46

谢谢各位回答,还是以8位字长算了。

旮旯旭 发表于 2023-2-8 09:29:25

22020843 发表于 2023-2-7 19:30
谢谢各位回答,还是以8位字长算了。

DMA接收Data Width要选择Half Word, 然后接收缓冲区需要设置 uint16_t 作为缓冲区接收。

旮旯旭 发表于 2023-2-8 09:30:15

22020843 发表于 2023-2-7 19:30
谢谢各位回答,还是以8位字长算了。


22020843 发表于 2023-2-9 21:21:49

旮旯旭 发表于 2023-2-8 09:30


非常感谢,按照你的方法设置后,接收正常。
页: [1]
查看完整版本: [求助]9位字长无奇偶校验1位停止位,HAL库串口不定长度丢失数据