1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32 UART串口在中断中不能循环接收数据帧的问题
我要用STM32的串口接收一帧这样类型的数据:01 xx xx xx xx xx xx xx FD 这个数据长度不超过30个,结束字节是FD(数据里面没有FD)。我的程序设计是这样的,当接收到串口数据后进中断处理,循环接收数据,直到接收到的数据是FD就退出中断(中间断接收超时处理)。程序思路如:进中断后,关闭接收中断,通过读取USART_FLAG_RXNE标志来接收数据。我现在遇到的问题是在中断中不能根据USART_FLAG_RXNE标志来完成数据帧接收, 不知道为什么啊?代码如下:
|
|
相关推荐
3个回答
|
|
void USART1_IRQHandler(void)
{ unsigned char temp=0; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) { temp=(unsigned char)USART_ReceiveData(USART1); if(RxBuf1CNT RxBuf1[RxBuf1CNT++]=temp; } else { RxBuf1CNT=0; } } } 我是这么用的,可以正常使用,是不是你的USART初始化有问题。
最佳答案
|
|
|
|
连接驱动没有问题吧
|
|
|
|
表示现在也遇到同样问题,不能根据USART_FLAG_RXNE标志来完成数据帧接收,51单片机RI是可以这么用,转到STM32不行
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
386 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1670 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1123 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1005 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1229 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12018 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 11:33 , Processed in 0.467207 second(s), Total 44, Slave 38 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号