完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请添加一个超时复位 UART2_Save_data_box_pointer 的功能。
因为,当数据接收不够 23 组时,你的程序没有做处理。 导致 UART2_Save_data_box_pointer 一直累加到大于等于23组时,你的程序才做处理。 |
|
|
|
感觉楼主可以改下代码的结构,使用个万能的环形队列,中断只负责接收,数据放到主程序中进行解析,只要缓冲区内有完整的数据包就做相应的处理
|
|
|
|
丢包一般是时钟配置有点问题……
|
|
|
|
串口传输一次性不能超过64个字节,多余的要做分包处理。
|
|
|
|
额,你的串口中断太复杂了,根本不能这样写中断,中断只能进去判断有无,有就放到一个fifo结构里,立即退出。外面程序空闲时来处理fifo里的数据流。
就是这么垃圾的中断代码居然也是抄别人的: ** 作 者: Dream ** 日 期: 2011年6月20日 |
|
|
|
语法上还是要尽量规范, 函数内 一般不提倡用extern ,可以通过包含头文件的形式搞定.
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2234 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2053 浏览 3 评论
4664 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2197 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2734 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 11:59 , Processed in 0.575051 second(s), Total 51, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号