麦粒 发表于 2025-11-7 09:26:11

STC32串口接收SBUS数据,2停止位的疑问 | DMA 已解决

我用一片STC32G8K128 来接收SBUS的数据。用的串口3,9数据位,中断接收,数据是能接收,但是数据不是SBUS的帧数据了。因为SBUS 是8数据,1偶校验,2停止位。而STC就一个停止位。我看有人说接收的时候,几个停止位都没关系。我想问是哪里出了问题吗?搞好几天了。还是说STC的串口就不能接收sbus数据?

_奶咖君_ 发表于 2025-11-7 09:28:31

硬件的停止位就只有1位,,,要是想用的话,需要转个弯,用其他的方式实现

_奶咖君_ 发表于 2025-11-7 09:30:10

https://www.stcaimcu.com/forum.php?mod=viewthread&tid=18605&highlight=%E5%81%9C%E6%AD%A2%E4%BD%8D&page=1&extra=#pid172035

你可以看看这个帖子里面的方法。

麦粒 发表于 2025-11-13 17:40:38

_奶咖君_ 发表于 2025-11-7 09:30
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=18605&highlight=%E5%81%9C%E6%AD%A2%E4%BD%8D&pa ...

谢谢,问题已解决。
stc32的串口设置成9位模式,作为接收用不用管有几个停止位,无非就是空闲时间长短问题。已验证可以正常接收sbus数据。

kvuclbsn 发表于 2025-12-30 14:26:31

麦粒 发表于 2025-11-13 17:40
谢谢,问题已解决。
stc32的串口设置成9位模式,作为接收用不用管有几个停止位,无非就是空闲时间长短问 ...

大佬,能分享下程序怎么写的吗?我用官方例程也是串口3用做sbus接收数据,接收的数据对不上

神农鼎 发表于 2026-2-7 08:53:29

STC8H8K64U系列部分有 DMA;
STC32G系列有 DMA;
8051U系列有 DMA;


可以用DMA来支持多个停止位



页: [1]
查看完整版本: STC32串口接收SBUS数据,2停止位的疑问 | DMA 已解决