51单片机串口通信的帧数据接收

本文介绍了如何使用51单片机进行串口通信,接收来自PC端的汉字字模数据。数据帧格式包含Header、type、length和body字段,其中Header用于标记数据帧开始,type区分数据类型,length指示数据长度,N设为32字节对应汉字字模。在中断程序中,单片机接收并处理数据。通过LabView模拟和Proteus仿真验证了数据接收的正确性。
摘要由CSDN通过智能技术生成


首先定义一个数据帧格式,Header :{ 0xAA 0x55} type:{ 0x01 | 0x02 | 0x03 } length:{  N } body :{____n个字节的数据___ }

数据的格式就是上面的定义  Header 为帧头 标记一个数据帧的开始,type 为类型 用来识别数据的类型 ,Length为长度标记 用来识别是否收完一帧的数据;

这次的目的是为了获取来自PC端串口传来的汉字字模数据 —— 一条长为32字节的数据,所以定义N = 32;类型 因为是第一个要用到的数据就先使用type=0x01

现在确定的格式 一帧数据 大概是  

unsinged char code test[36]={0xaa,0x55,0x01,0x20,0x01,0x0D,0x1D,0x19,0x01,0x3F,0x3F,0x03,0x03,0x03,0x07,0x26,0x6E,0x7C,0x38,0x00,0x98,
					0x98,0x98,0x8C,0x8C,0x8E,0xEF,0xED,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00};

当一个数据发来单片机进入中断程序开始接收数据

void mReceive(){
	uart_flag =0;//接收标志
<span style="white-space:pre">	</span>RI=0;//手动清寄存器
<span style="white-space:pre">	</span>recei
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值