OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6103|回复: 6

又来请教原子哥哥关于STM32串口1的问题了,明明配置成一个停止位,为啥拿示波器抓波形出来老是有两个停止位呢

[复制链接]

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
发表于 2013-1-3 10:31:48 | 显示全部楼层 |阅读模式
配置出来的数据   就是多一个停止位  真是怪异了  用的是3.5的
    /*配置USART1,9个数据位,一个停止位,偶校验*/
 USART_InitStructure.USART_BaudRate = bound;//一般设置为9600;
 USART_InitStructure.USART_WordLength = USART_WordLength_9b;
 USART_InitStructure.USART_StopBits =USART_StopBits_1;
 USART_InitStructure.USART_Parity = USART_Parity_Even;
 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
 USART_Init(USART1, &USART_InitStructure);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2013-1-3 15:18:09 | 显示全部楼层
这个没分析过。
你配置为0位停止位呢?
会不会是你读数据判断有误啊?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
 楼主| 发表于 2013-1-3 16:36:51 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
还可以配置0个停止位吗 不是最小是0.5个吗?
数据应该没读错发送的第一个数据是0X30,前面一个起始位0,然后再低位的4个0,再高位的1100,再一个校验位0,再两个停止位1
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2013-1-3 18:34:12 | 显示全部楼层
回复【3楼】417400765:
---------------------------------
哦,我搞错了,呵呵。
不能配置为0个,最低就是1个了。0.5个,SSCOM这个串口调试助手不支持了。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
 楼主| 发表于 2013-1-4 08:23:18 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
现在关键就在于怎么把发送的数据变成一个停止位了,我试过0.5个停止位示波器抓出来的波形数据也是有1.5个停止位,所以就纠结在这里了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2013-1-4 10:03:21 | 显示全部楼层
你电脑串口设置1个停止位,发送数据,看下波形看看。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2018-4-16
在线时间
18 小时
发表于 2020-9-22 08:56:40 | 显示全部楼层
这个问题有人解读下吗,确实这样,软件定义1位停止位,示波器上看是2位停止位。不过我用PLC与单片机通信,PLC却能正确读出单片机发出的数据。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 03:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表