title: 02_匿名上位机通信
匿名上位机通信
用户数据使用(stm32 ----> 上位机v7)
1.匿名通信协议
将stm32数据传送至上位机时,按照此格式,逐个字节进行传送。
2.stm32程序
/************************************************************************************************************
* ANO_DT_Send_ABC 函数是将A,B,C三个数据传送至匿名上位机V7(使用的是上位机的用户数据1)
* 首先将数据按照匿名通信协议存至data_to_send数组
* 然后将数组通过串口进行发送
* 用户根据需要自行编写ANO_DT_Send_Data
************************************************************************************************************/
void ANO_DT_Send_ABC(u16 A, u16 B, u16 C)
{
int i;
u8 sumcheck = 0;
u8 addcheck = 0;
u8 _cnt = 0;
data_to_send[_cnt++]=0xAA; //帧头
data_to_send[_cnt++]=0xFF; //目标地址
data_to_send[_cnt++]=0xF1; //功能码:使用上位机的用户数据1
data_to_send[_cnt++]=0x06; //数据长度,A,B,C三个数据有6个字节
data_to_send[_cnt++]=BYTE0(A);//数据内容,灰色部分
data_to_send[_cnt++]=BYTE1(A);
data_to_send[_cnt++]=BYTE0(B);
data_to_send[_cnt++]=BYTE1(B);
data_to_send[_cnt++]=BYTE0(C);
data_to_send[_cnt++]=BYTE1(C);
for(i=0;i<data_to_send[3]+4;i++)//计算校验数据,绿色部分
{
sumcheck += data_to_send[i];
addcheck += sumcheck;
}
data_to_send[_cnt++]=sumcheck;
data_to_send[_cnt++]=addcheck;
ANO_DT_Send_Data(data_to_send, _cnt);//此函数为stm32串口发送数据函数,由用户自行编写
}