专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
求解为什么stm32普通串口跟DMA串口传输方式每个字节的位数不一样
2019-07-14 15:53
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
3185
6
1139
用示波器观察普通方式的串口传输,每个字节有一位起始位,八位数据位,两位停止位;而理论上我的设置是一位起始位,八位数据位,一位停止位,这里问题就来了,为什么会出现两位停止位呢?这里数据位数就对应不上了啊!但是即使数据对应不上,这时的通讯也是正常的,接收的整体数据也是对的,为什么呢?
相较而言,
STM32
的DMA传输方式下,示波器的波形则是正常的一位起始位,八位数据位,一位停止位。通讯也是正常的。作为一只资深小白瞬间就蒙圈了!期待大神路过~
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
niggle
1楼-- · 2019-07-14 21:12
正常停止位的位数是可以软件设定的,是不是没设置好?
如果接收是2两位停止位的话,发送是两位停止位肯定没问题,是一位停止位的话也不一定有问题;因为停止位是高电平,而串口空闲时也是高电平;
普通串口传输的话,发送两个字节之间肯定有空闲,很容易达到2个停止位的空闲;如果是DMA串口发送的话,空闲时间几乎可以忽略,接收处理的比较慢的话容易出问题
加载中...
niggle
2楼-- · 2019-07-15 03:07
再说说,一位与两位停止位的区别:
由于串口是异步通讯,即发送端和接收端的时钟不同源;假如没有起始位和停止位,一直连续传输的话,主机和从机的时钟误差很可能越来越大;
一方面方便为了区分每一字节的开头和结尾,一方面消除异步传输的时钟累计误差,所以引入了开始位和停止位....
停止位其实可以看作传输两个字节之间的固定空闲时间间隔,加入的空闲越长相对传输越可靠,但是传输效率下降
Rs-232串口的设计时序其实还比较简单,有兴趣具体可以百度了解一下
加载中...
法规处发
3楼-- · 2019-07-15 08:40
232的时序不就是串口通讯的时序么
加载中...
niggle
4楼-- · 2019-07-15 10:34
精彩回答 2 元偷偷看……
加载中...
blust
5楼-- · 2019-07-15 10:36
可能你的示波器看到的不是两位停止位,而是一位停止位和一位总线空闲位。
加载中...
lee_st
6楼-- · 2019-07-15 15:17
配置问题
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
如果接收是2两位停止位的话,发送是两位停止位肯定没问题,是一位停止位的话也不一定有问题;因为停止位是高电平,而串口空闲时也是高电平;
普通串口传输的话,发送两个字节之间肯定有空闲,很容易达到2个停止位的空闲;如果是DMA串口发送的话,空闲时间几乎可以忽略,接收处理的比较慢的话容易出问题
由于串口是异步通讯,即发送端和接收端的时钟不同源;假如没有起始位和停止位,一直连续传输的话,主机和从机的时钟误差很可能越来越大;
一方面方便为了区分每一字节的开头和结尾,一方面消除异步传输的时钟累计误差,所以引入了开始位和停止位....
停止位其实可以看作传输两个字节之间的固定空闲时间间隔,加入的空闲越长相对传输越可靠,但是传输效率下降
Rs-232串口的设计时序其实还比较简单,有兴趣具体可以百度了解一下
一周热门 更多>