新手求助!!!STM32在调试状态下子函数设置断点不能进入

2019-03-23 18:06发布

   各位大神好,本人是STM32初学者,现在在用STM32F103VET6做一个东西:将串口屏发送过来的数据用串口接收,再通过ZigBee发出,现在在调试串口接收屏发来的数据,接收中断函数正常,写了另一个子函数对接收数据进行处理,发现在这个子函数中设置断点不能执行到,必须点一下“RST”复位一下再能执行到,想知道哪出问题了,已经查了好几天了,谢谢诸位大神!!!

可以看到中断函数正常。

主函数也能进入断点

主函数中的子函数STM32-ZigBee()无法进入断点

当重新复位一下“RST”就能进入断点了
头文件的声明也都写了,百思不得其解,求助各位大神了,万分感谢
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
qwerghf
1楼-- · 2019-03-24 08:49
不需要的,你要是对手册熟悉就知道了,不清没关系,当你数据读出来就自动清除了,你根据波特率算你这一数据帧需要多久呀,我之前设置我自己的数据帧500ms,不过我的有协议,只要满足协议就可以判断接受完成,不需要超过500ms
qwerghf
2楼-- · 2019-03-24 13:58
我是判断整个数据帧,你也可以判断一个字节长度的时间
豆包
3楼-- · 2019-03-24 15:54
 精彩回答 2  元偷偷看……
ywlzh
4楼-- · 2019-03-24 20:21
qwerghf 发表于 2016-7-17 10:40
中断函数标志不对,不是USART_IT_IDLE

空闲中断是可以用的,用在判断一帧数据接收完成的中断,这个是需要读两个寄存器的值就是清除中断,具体在数据手册上有说明,这个中断就不需要额外消耗定时器来超时判断了
豆包
5楼-- · 2019-03-25 00:23
谢谢大家,现在已经解决了,IDLE空闲中断是可以用来判断一帧数据接收完毕,USART_ClearITPendingBit()是可以不加的,手册上也确实是这么说的。我的程序中发送时使用While()判断语句忘了加break,导致循环不出来

一周热门 更多>