完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
程序运行后,在中断服务程序的(1)和(2)位置设置断点后全速运行。电脑使用串口助手首次发送256个字节到STM32F0可以正常运行到断点(2)。
然后电脑上串口助手再次发送256字节后,就停在断点(1)了。这是为什么? 网上说中断服务中判断到ORE时,读一次接收缓冲就行了。但是没作用啊 if(USART_GetFlagStatus(USART1, USART_FLAG_ORE) != RESET) { USART_ReceiveData(USART1); } |
|
相关推荐
11个回答
|
|
|
|
|
|
|
|
|
路过帮顶!!!
|
|
|
|
|
|
第二次停在了断点1……是不是就说你ORE置位了?
|
|
|
|
|
|
咋感觉是这个的问题volatile ,不太懂
|
|
|
|
|
|
帮顶吧,顺便学习学习
|
|
|
|
|
|
先读取数据,然后再清除溢出标志位。
|
|
|
|
|
|
|
|
|
|
|
|
if (0 == Usart1RxTerm)
{ Usart1RxBuffer[Usart1RxCount++] = SART_ReceiveData(USART1); } 这里注意,你把Usart1RxTerm = 1;数据不在接收,这里可以改为, c=SART_ReceiveData(USART1); if (0 == Usart1RxTerm) { Usart1RxBuffer[Usart1RxCount++] = c; } 这样就可以了. |
|
|
|
|
|
|
|
|
帮顶!!!
|
|
|
|
|
|
顶!一直顶到解决为止。
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
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 09:13 , Processed in 1.053024 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1932