OpenEdv-开源电子网

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

原子串口例程不能正常收发100个汉字也就是200字节数据,缓冲区第一个字节被0D占据?printf函数不能正常输出冒号:需要多加\r\n

[复制链接]

33

主题

224

帖子

0

精华

高级会员

Rank: 4

积分
580
金钱
580
注册时间
2015-1-12
在线时间
76 小时
发表于 2021-12-27 14:31:25 | 显示全部楼层 |阅读模式
回复

使用道具 举报

33

主题

224

帖子

0

精华

高级会员

Rank: 4

积分
580
金钱
580
注册时间
2015-1-12
在线时间
76 小时
 楼主| 发表于 2021-12-27 14:31:26 | 显示全部楼层
发现原因了 是防止数组越界
回复

使用道具 举报

33

主题

224

帖子

0

精华

高级会员

Rank: 4

积分
580
金钱
580
注册时间
2015-1-12
在线时间
76 小时
 楼主| 发表于 2021-12-27 14:37:00 | 显示全部楼层
去掉回车换行转义字符就不显示冒号

去掉回车换行转义字符不显示冒号.png
回复

使用道具 举报

1

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2020-3-15
在线时间
28 小时
发表于 2021-12-27 14:51:07 | 显示全部楼层
回复

使用道具 举报

33

主题

224

帖子

0

精华

高级会员

Rank: 4

积分
580
金钱
580
注册时间
2015-1-12
在线时间
76 小时
 楼主| 发表于 2021-12-27 15:11:09 | 显示全部楼层

不快,就是官网的例程,99个汉字能实现,100个汉字就失败。和printf中冒号有关系,但是不知道具体是什么原因
回复

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1827
金钱
1827
注册时间
2011-10-9
在线时间
234 小时
发表于 2021-12-27 15:33:20 | 显示全部楼层
你全部用printf输出不行么  后面改为  printf("%x ",rx_buf[t]);
回复

使用道具 举报

33

主题

224

帖子

0

精华

高级会员

Rank: 4

积分
580
金钱
580
注册时间
2015-1-12
在线时间
76 小时
 楼主| 发表于 2021-12-28 13:51:02 | 显示全部楼层
simms01 发表于 2021-12-27 15:33
你全部用printf输出不行么  后面改为  printf("%x ",rx_buf[t]);

我试试
回复

使用道具 举报

33

主题

224

帖子

0

精华

高级会员

Rank: 4

积分
580
金钱
580
注册时间
2015-1-12
在线时间
76 小时
 楼主| 发表于 2026-2-3 17:02:43 | 显示全部楼层
至于汉字为什么最大个数是31而不是32,和同类毛病的F413例程中#define USART_REC_LEN                          200          //定义最大接收字节数 200。为什么是99个汉字而不是100个汉字,这是因为USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
                                        USART_RX_STA++;//USART_RX_STA数值没有包含回车换行。收到的回车换行\r\n没被计算到数组的长度里面,也就是接收的数组元素中不含有\r\n  2021.12.4
                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收
先得到数组元素的下标,然后USART_RX_STA会+1,当取得199下标的时候,也就是数组的第200个元素,USART_RX_STA+1变为了200,if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//,200>(200-1)接收数据错误,重新开始接收
回复

使用道具 举报

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

本版积分规则


关闭

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

正点原子公众号

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

GMT+8, 2026-2-18 13:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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