8 PS_HandShake(u32 *PS_Addr)
{
int i, j;
SendHead();
SendAddr();
MYUSART2_SendData(0X01);
MYUSART2_SendData(0X00);
MYUSART2_SendData(0X00);
delay_ms(200);
MYUSART2_GetFrameData();
if(ACK_data[0] == 0xEF && ACK_data[1] == 0x01 && ACK_data[6] == 0x07)
{
*PS_Addr=(ACK_data[2]<<24) + (ACK_data[3]<<16)+(ACK_data[4]<<8) + (ACK_data[5]);
return 1; //握手成功返回1
}
else
return 0;
}
为什么发完地址后0x01,0x00,0x00?根据手册:
包头 芯片地址 包标识 包长度 指令码 口令 校验和
0xEF01 xxxx 01H 07H 13H PassWord sum
应该是这样,请问为什么? |