发送StartIDPS,收不到返回信息,求指教
我是通过蓝牙向iPhone发送StartIDPS1、发送的数据是55 04 00 38 00 00 checksum,checksum位我试了几种算法(c4,44,BC),但都没有收到iPhone的返回信息(ACK),不知道是不是checksum算错
2、关于transactionID位,一直发00 00 和依次累加1 这两种情况我都试了,没有返回信息
也可能是其他原因,烦请哪位指导一下,多谢!
case SYNCHRONOUS:
msTicks = 0;
while(msTicks < 10); //wait 800ms
SysRam = 0xFF; //send sync byte
CommPutChar(SysRam, 1);
msTicks = 0;
while(msTicks < 2); //wait 20ms
State = START_IDPS;
break;
//====================================================
// StartIDPS
//
case START_IDPS:
SysRam = 0xFF;
SysRam = 0x55;
SysRam = 0x04;
SysRam = 0x00;
SysRam = 0x38;
SysRam = 0x03;
SysRam = 0xE9;
SysRam = 0xD8;
CommPutChar(SysRam, 8);
State = START_IDPS_ACK;
break;
case START_IDPS_ACK:
AppleOutput();
if (SysRam==0x02 && SysRam==0x00) Error = FALSE; //Apple device respond ACK
else Error = TRUE;
if (Error==TRUE) State = START_IDPS;
else State = REQUEST_LINGO_PROTOCOL_VERSION;
#ifdef __DBG__
printf("\r\n");
printf("\r\nACKStartIDPS:\r");
for (i=0; i<PacketLengh+4; i++) {
if (i%16 == 0) printf("\r\n");
printf("0x%0.2X ", (int)SysRam);
}
#endif
break; TimCheng 发表于 2012-9-17 13:48 static/image/common/back.gif
case SYNCHRONOUS:
msTicks = 0;
while(msTicks < 10); //wait 800ms
重复发StartIDPS,transactionID位不需要每次都+1吗?
因为是蓝牙发送,所以只能不断发StartIDPS等待iPhone回应,谢谢~
页:
[1]