(简单串口程序)debug无法进入while循环

2019-07-21 04:05发布

本帖最后由 1208 于 2019-3-18 15:22 编辑

单片机用stm32F103C8T6,代码很简单,传感器是主动上传的,1s一个数据,通过usart1读取,中断是这样写的。1.44寸屏幕可以直接读取到传感器浓度值(或者USB转TLL串口助手也行),但是debug的话怎么也进不了wihle循环(或者说USART_RX_STA这个值一直就是4000不是8000 ),新手一枚,想知道是哪里错了,求大神指教。
QQ图片20190318141906.png QQ图片20190318141946.png


气体传感器.rar (349.91 KB, 下载次数: 12) 2019-3-18 14:25 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
nashui_sx
1楼-- · 2019-07-21 07:04
nabla 发表于 2019-3-19 23:58
大神,我试了下这个代码,if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)这个语句一直进不去,U ...

气体传感器.rar (359.08 KB, 下载次数: 26) 2019-3-20 08:31 上传 点击文件名下载附件
jermy_z
2楼-- · 2019-07-21 08:48
用状态机写吧,你这样子的接收逻辑,不适合
nabla
3楼-- · 2019-07-21 12:32
jermy_z 发表于 2019-3-18 14:35
用状态机写吧,你这样子的接收逻辑,不适合

可以说下这样为啥进不了循环吗,大神我是新手,状态机啥的不懂啊。。
yklstudent
4楼-- · 2019-07-21 16:32
 精彩回答 2  元偷偷看……
1208
5楼-- · 2019-07-21 17:34
中断可以单步运行完不
nabla
6楼-- · 2019-07-21 22:37
1208 发表于 2019-3-18 15:27
中断可以单步运行完不

我在while之前加了个delay500ms  sta变为D007然后可以进入中断   貌似比500小的话 sta是4000   然后while循环内部最后一行我也一样加了个delay500  这样虽然达到了目的  但是不是delay的太多了点  大神有何高见

一周热门 更多>