OpenEdv-开源电子网

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

想用串口接收数据,换行显示,结果如图所示。请教一下这是什么原因,以及怎么解决?

[复制链接]

13

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-5-23
在线时间
13 小时
发表于 2017-2-17 10:53:26 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

56

主题

343

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2016-3-8
在线时间
267 小时
发表于 2017-2-17 10:53:27 | 显示全部楼层
回复

使用道具 举报

10

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479
金钱
1479
注册时间
2016-1-25
在线时间
260 小时
发表于 2017-2-17 10:57:33 | 显示全部楼层
从你贴的代码看你发送结束后  一直打印回车换行符  肯定是哪里逻辑顺序错了
回复

使用道具 举报

1

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2017-2-9
在线时间
19 小时
发表于 2017-2-17 13:57:04 | 显示全部楼层
楼主的printf应该是重定向的吧。最好能在中断里写这些,一次只打印一个,也容易看。置于没有打印第一个字符,楼主在初始化串口后有没有清除TC的标志位。没有清除TC标志位时,第一位数据就有可能丢失。
回复

使用道具 举报

13

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-5-23
在线时间
13 小时
 楼主| 发表于 2017-2-17 14:22:52 | 显示全部楼层
sodermalm 发表于 2017-2-17 10:57
从你贴的代码看你发送结束后  一直打印回车换行符  肯定是哪里逻辑顺序错了

这个是写在一个循环里的,要发送的数据没有显示,所以一直是回车换行符
回复

使用道具 举报

13

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-5-23
在线时间
13 小时
 楼主| 发表于 2017-2-17 14:23:50 | 显示全部楼层
TGuest 发表于 2017-2-17 13:57
楼主的printf应该是重定向的吧。最好能在中断里写这些,一次只打印一个,也容易看。置于没有打印第一个字符 ...

额,仿照正点原子写的代码
回复

使用道具 举报

34

主题

388

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4090
金钱
4090
注册时间
2012-10-21
在线时间
642 小时
发表于 2017-2-17 14:48:31 | 显示全部楼层
本帖最后由 PCA 于 2017-2-17 14:54 编辑

while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);          
USART_SendData(USART1,0x08);
回复

使用道具 举报

1

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2017-2-9
在线时间
19 小时
发表于 2017-2-17 16:34:17 | 显示全部楼层
梅小小 发表于 2017-2-17 14:23
额,仿照正点原子写的代码

可以把while循环里的代码发一下么?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-13 21:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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