OpenEdv-开源电子网

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

ALIENTEK MINISTM32 实验3 串口实验中为什么发送不带回车的数据后再发送带回车的数据返回会将不带回车的数据也返回

[复制链接]

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-2-10
在线时间
1 小时
发表于 2015-4-18 20:53:48 | 显示全部楼层 |阅读模式
5金钱
ALIENTEK MINISTM32 实验3 串口实验中为什么发送不带回车的数据后再发送带回车的数据返回会将不带回车的数据也返回?
我先发送不带回车的数据后


我继续发一个带回车的数据



然后为什么单片机传回来的会有不带回车的数据,我就想不通,怎样改程序才能不返回不带回车的数据????

最佳答案

查看完整内容[请看2#楼]

因为把他们拼在一起了。没有回车,就会一直累计,直到超过限制。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-18 20:53:49 | 显示全部楼层
因为把他们拼在一起了。没有回车,就会一直累计,直到超过限制。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-2-10
在线时间
1 小时
 楼主| 发表于 2015-4-18 22:33:58 | 显示全部楼层
那一段程序让他们拼在一起了???我看不出来,这USART_RX_STA都等于零了  重新开始检测了啊 ,为什么还会拼在一起 长度都清零了啊,如果不出现这样的现象,应该怎样改程序????

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-18 23:06:21 | 显示全部楼层
回复【3楼】柴:
---------------------------------
就是这个,因为凡是没有收到回车换行的,不管你隔多久发,都会继续往下走,直到收到回车换行。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-2-10
在线时间
1 小时
 楼主| 发表于 2015-4-18 23:09:42 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
可是USART_RX_STA=0;就是字符长度也是零了啊,为什么还会拼接下去,拼接下去字符长度就不是零了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-18 23:16:46 | 显示全部楼层
回复【5楼】柴:
---------------------------------
慢慢看,慢慢想。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-2-10
在线时间
1 小时
 楼主| 发表于 2015-4-18 23:36:00 | 显示全部楼层
那如果要改成不拼接应该怎样改???
回复

使用道具 举报

2

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
363
金钱
363
注册时间
2014-4-23
在线时间
111 小时
发表于 2015-4-19 00:18:54 | 显示全部楼层
回复【7楼】柴:
---------------------------------
串口收发最好搞个报文来做,比如帧头+命令字+数据长度+数据+校验。这样判断起来比较容易,如果是接收不定长的数据,你可以在串口每次接受到1字节后开启一个计时器,因为不同波特率下,发来的数据字节之间有时间间隔的,如果超过这个时间间隔,就算这一帧报文结束,将串口里的计数标志清零就好了。
回复

使用道具 举报

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-2-10
在线时间
1 小时
 楼主| 发表于 2015-4-19 09:11:26 | 显示全部楼层
回复【8楼】ryouei:
---------------------------------
哦虽然不懂在说什么,但很感谢你,我的问题基本解决了,我就加了一个清除USART_RX_BUF的函数,不停的清除,就可以了。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-4-9
在线时间
6 小时
发表于 2018-4-22 18:06:12 | 显示全部楼层
挖坟,挖坟,想问问原子哥为什么用丁丁串口助手不加回车,直接点击发送也能接收到数据?
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2014-2-18
在线时间
4 小时
发表于 2019-3-24 16:43:57 | 显示全部楼层
柴 发表于 2015-4-19 09:11
回复【8楼】ryouei:
---------------------------------
哦虽然不懂在说什么,但很感谢你,我的问题基本解 ...

哥们儿 你的问题是怎么解决的
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2014-2-18
在线时间
4 小时
发表于 2019-3-25 22:07:20 | 显示全部楼层
柴 发表于 2015-4-19 09:11
回复【8楼】ryouei:
---------------------------------
哦虽然不懂在说什么,但很感谢你,我的问题基本解 ...

经过好几天的头脑风暴 终于解决了 老铁
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 04:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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