串口发送程序

本文介绍了如何设计用于串口通信的数据包,详细讲解了在C文件中实现串口发送程序的过程,涵盖数据包格式及其实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 设计串口的数据包:

#include "AT89x051.H"

//*************************用户定义*********************************//
//说明:根据需要改动下列参数
#define PACKET_LEN   3			//数据包长度(字节)
#define BOUND_RATE	9600		//通讯波特率(bps)
#define CLK_FRE		11059200	//单片机晶振频率(MHz)
#define CLK_DIV		12			//时钟分频数

#define COMM_TIME   200			//数据接收间隔时间
//******************************************************************//
#if (256-(CLK_FRE/(BOUND_RATE*16*CLK_DIV)))>0
#define BOUND_RATE_DOUBLE
#endif

#define uchar unsigned char
#define uint  unsigned int

typedef struct			//数据包结构
{
 uchar dat[PACKET_LEN];	//通信数据
 uchar temp[PACKET_LEN-1];//通信暂存数据
 uchar rflag;			//通讯接收标志,0为空闲,1为接收完毕,2为正在接收
 uchar tflag;			//通讯发送标志,0为空闲,1为发送完毕,2为正在发送
 uchar time;			//通讯计时,为0时为通讯超时
 uchar rcount;			//数据接收计数

 uchar len;				//发送数据长度
 uchar tcount;			//数据发送计数
 uchar *pdat;			//发送数据缓冲区指针
}Packet;


#define COMM_IDLE  0
#define COMM_ACK   1
#define COMM_REING 2
#define COMM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值