没做过这方面的处理,所以问的问题可能不是很清晰,望见谅。现在问题是这样的,通信用的是普通的UART串口通信(1个起始位+8个数据位+1个停止位),一帧数据包括 地址(1字节)、命令(2)、数据(5)、校验(1)
命令里又有许多的不同命令,状态数据里也又不同数据需要发送。从软件的角度看有没有什么办法能让这些数据的发送操作来的简单点。我本来是这样定义的
//1.特殊字符说明
#define STX 0XFF //命令开始,同步字符
#define ACK 0XA6 //成功返回
//2.命令(2字节)汇总
__IO uint8_t ZT[2]={0X5A,0X54};
__IO uint8_t SJ[2]={0X53,0X4A};
__IO uint8_t CJ[2]={0X43,0X4C};
__IO uint8_t CF[2]={0X31,0X3A};
__IO uint8_t NDC[2]={0X37,0X53};
__IO uint8_t NDY[2]={0X23,0X4C};
//3.状态发送数据说明
__IO uint8_t RUN[5]={0X00,0X00,0X52,0X55,0X4E};
__IO uint8_t STOP[5]={0X00,0X53,0X54,0X4F,0X50};
__IO uint8_t START[5]={0X53,0X54,0X41,0X52,0X54};
__IO uint8_t CLCLR[5]={0X23,0X4C,0X43,0X2C,0X52};
比如我要发送ZT那就依次取数组ZT[2]中的数发送。没有更好的办法,不知道有木有描述清楚。
|