OpenEdv-开源电子网

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

各位大佬,stm32串口接收一个字符串不清楚哪里错了,串口助手上没显示接收数据,求解

[复制链接]

3

主题

11

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-10
在线时间
7 小时
发表于 2019-7-10 17:15:59 | 显示全部楼层 |阅读模式
4金钱
各位大佬,stm32串口接收一个字符串不清楚哪里错了,串口助手上没显示接收数据,求解

QQ图片20190710171410.png

最佳答案

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

1.指针没有指向地址,这个是野指针,对野指针进行操作,很危险,可能造成系统崩溃。 2.你中断判断的是中断标志位,USART_IT_RXNE, 如果你要接收一串数据建议你用空闲中断标志位 USART_IT_IDLE,然后不建议你用do while 的写法。这种写法容易造成死循环。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2015-10-16
在线时间
49 小时
发表于 2019-7-10 17:16:00 | 显示全部楼层
1.指针没有指向地址,这个是野指针,对野指针进行操作,很危险,可能造成系统崩溃。
2.你中断判断的是中断标志位,USART_IT_RXNE,      如果你要接收一串数据建议你用空闲中断标志位 USART_IT_IDLE,然后不建议你用do while  的写法。这种写法容易造成死循环。
回复

使用道具 举报

24

主题

119

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2596
金钱
2596
注册时间
2017-4-4
在线时间
342 小时
发表于 2019-7-10 18:58:00 | 显示全部楼层
中断不应该是每个字符都进入中断吗,你的程序肯定死在DoWhile循环里了,出不去。
回复

使用道具 举报

4

主题

133

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3863
金钱
3863
注册时间
2016-6-11
在线时间
710 小时
发表于 2019-7-10 19:11:15 | 显示全部楼层
U8 *str 改成U8 str[100]看看
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-10
在线时间
7 小时
 楼主| 发表于 2019-7-10 21:31:18 | 显示全部楼层
jinx 发表于 2019-7-10 18:58
中断不应该是每个字符都进入中断吗,你的程序肯定死在DoWhile循环里了,出不去。

接收符号最后是\0,会跳出循环
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-10
在线时间
7 小时
 楼主| 发表于 2019-7-10 21:32:25 | 显示全部楼层
jinx 发表于 2019-7-10 18:58
中断不应该是每个字符都进入中断吗,你的程序肯定死在DoWhile循环里了,出不去。

每个字符都中断一次?也就是要中断4次
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-10
在线时间
7 小时
 楼主| 发表于 2019-7-10 21:37:41 | 显示全部楼层
jxcrgt35 发表于 2019-7-10 19:11
U8 *str 改成U8 str[100]看看

是不是不用指针?
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-10
在线时间
7 小时
 楼主| 发表于 2019-7-10 21:42:10 | 显示全部楼层
jxcrgt35 发表于 2019-7-10 19:11
U8 *str 改成U8 str[100]看看

改过之后输入send只有PC显示,LED1没有亮
回复

使用道具 举报

4

主题

133

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3863
金钱
3863
注册时间
2016-6-11
在线时间
710 小时
发表于 2019-7-10 23:08:48 | 显示全部楼层
时光浅巷 发表于 2019-7-10 21:42
改过之后输入send只有PC显示,LED1没有亮

1.关于定义指针的问题,3楼说的很清楚了。野指针
2.LED1亮不亮,没见过你的设计,不好说。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 05:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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