void DaBao(char Leixing,unsigned char Data)
{
Data_Bao[0]=0xFF;
Data_Bao[1]=0xAA; //包头
Data_Bao[2]=0xA1; //项目号
Data_Bao[3]=0x11; //车号和线路号
Data_Bao[4]=Leixing; //区别是杆还是红外传感器
Data_Bao[5]=Data; //将传感器的状态存入数据包中
}
void Send_Bao(unsigned char *Data)
{
char j=0;
for(j;j<6;j++)
{
Send_Char(*Data); //发送一个字节数据
Data++;
//指针向后移
}
}
void Send_Char(unsigned char Char)
{
RS485_T; //设置RS485为发送状态
while(!TI); //检测上一个字节是否发送完毕,及是否为发送下一字节做好准备
TI=0; //清楚发送中断标志位
SBUF=Char; //发送数据
}
其中 Data_Bao[6]是一个全局变量,上位机应该接收到FFAAA11101xx的数据,但是
调试的时候接收到的数据时FFAAA11101FF。。Dabao函数中的Data是全局变量,是传感器收集到的数据。。希望高人能给予解答。。再次谢过了 |