完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
上位机循环发送一帧数据给到单片机:
A1 0A 01 02 03 CC 单片机每接收一个字节数据,进入一次接收中断,如下面程序所示,完善下面的程序,保证串口可以完整接收到数据并保存到USART_RX_BUF数组中。 提示:上位机的程序在循环发送,有可能因为数据传输问题,部分数据会丢失,所以我们制定了帧头A1,帧尾CC,只有这两个数据正确,才能判定这串数据是正确数据。 u8 USART_RX_BUF[64]; //接收缓冲,最大64个字节. u8 Receive_count=0,True_receive=0; void USART1_IRQHandler(void) { u8 res; if(USART1->SR&(1<<5))//接收到数据 { res=USART1->DR; } } |
|
相关推荐
1个回答
|
|
void USART1_IRQHandler(void){
u8 res; if(USART1->SR&(1<<5)){//接收到数据 res=USART1->DR; if(res==0xA1){//帧头 True_receive=0;//标志位清零 Receive_count=0;//计数器清零 USART_RX_BUF[Receive_count++]=res;//保存帧头 True_receive=1;//置帧头标志位 } else if(True_receive){//已经接收到帧头 USART_RX_BUF[Receive_count++]=res;//保存数据 if(Receive_count>=64)//超出缓冲区范围 Receive_count=0; if(res==0xCC){//帧尾 True_receive=0;//标志位清零 //数据处理 } } } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
250 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
473 浏览 2 评论
571 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
260 浏览 0 评论
400 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11976 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 09:15 , Processed in 0.916868 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号