完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
请大家指点一下,谢谢
|
|
|
|
|
|
第一段代码的37行,最好启用USART_IT_RX中断,不要去启用USART_IT_RXNE中断。
第二段代码里没有清除USART_IT_RXNE或USART_IT_RX中断标志的语句。 |
|
|
|
|
|
谢谢楼上朋友,楼主问题如果解决了回复一下哦,如果没有,可以继续追问滴
|
|
|
|
|
|
|
|
|
|
|
wq644921241 发表于 2018-12-29 10:18 谢谢,问一下,有USART_IT_RX这个参数吗?要怎么设置,第二段有清除的,应该是哪天贴的比较急乱了,你没有看到,现在整理好了 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
谢谢各位的回答,不过问题还没有解决,还得继续努力啊
|
|
|
|
|
|
你用查询发送,中断接收试试。。。
|
|
|
|
|
|
中断中为什么要加延时啊?中断中不要有太多的处理,简单发送或者接收,在外部对这些数据缓冲区进行处理。
|
|
|
|
|
|
|
|
|
|
|
|
这个不碍事,主要是不加延时会丢包 |
|
|
|
|
|
怎么会丢包呢?正常收发是不会发生该问题的.
|
|
|
|
|
|
你怎么知道一定是接收到了命令的 第一个字节的0xf5啊 ,你的命令最后一个字节也是0XF5啊,会不会是你的接收缓存被冲掉了,只剩下了最后一个受到的数啊 ,a变量时不是有问题?看看定义位置,还有事不是别处也调用了
|
|
|
|
|
|
先调低发送速度看一下。
|
|
|
|
|
|
你可以试试,就跟串口调试助手不加延时都会丢包,不过还是谢谢你,参考了你的意见,我把最后的一次延时去掉就可以, |
|
|
|
|
kghfh 发表于 2018-12-29 12:58 谢谢你的回答,这个值我仿真看到的,不关a的事,如果a的问题,我跟串口调试助手时调试也不行啊,不过问题找到了,只要将最后一次延时去掉就可以 |
|
|
|
|
|
中断中收到数据就放到缓冲区,另外注意看一下接收溢出标志位,是不是发生溢出,没有及时清掉溢出标志位。
|
|
|
|
|
|
谢谢你,这个溢出清除后来调试为了保稳也加上了,现在问题解决了 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:01 , Processed in 1.177810 second(s), Total 110, Slave 92 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
416