YiKai Chen:
檢查看看是否数据采集影響了連線,讓連線断開
Dace Feng1:
回复 YiKai Chen:
YC:谢谢解答!这个该怎么检查呢?另外我的notify不是一直不上传,偶尔也是可以的。
da qin zheng sheng:
每次传送20个字节试试,另外可以用抓包软件分析。
da qin zheng sheng:
回复 da qin zheng sheng:
估计需要修改连接参数。
YiKai Chen:
回复 Dace Feng1:
试试降低每次传送字节个數
Viki Shi:
无法接收到所有数据还是一部分数据?
Dace Feng1:
回复 Viki Shi:
是所有。
我尝试过在IIC采集数据后,通过按按键上传数据,也接受不了,而且出现断开连接。
不调用IIC采集数据,数据可以正常上传。貌似是IIC的问题,下面是我的程序,还请帮忙看看static void serialNetProfileChangeCB(uint8 paramID,uint8 len)
{switch( paramID ){case SERIALNETPROFILE_TRX:uint8 bBuf[20]={0};//读取数据SerialNetProfile_GetParameter( SERIALNETPROFILE_TRX, bBuf, len );if((bBuf[0] == 0x12)&&(bBuf[1] == 0x35)&&(bBuf[2] == 0x56)&&(bBuf[3] == 0x7A)){ NPI_WriteTransport(bBuf,len);Learn_mode(dataBuff); //进入学习模式}break;default:// should not reach here!break;}
}
//进入学习模式================================================================
void Learn_mode(uint8 *ReceiveBuff)
{Learn_start2();RemoteDelayms(15000); //延时55mswhile(BUSY == 0);// busy 低电平 进入学习状态//RemoteDelayms(3000); //延时12msif(BUSY == 1){DelayTime(12);readI2C2(ReceiveBuff);//学习模式下,读取数据,230字节}
}//读取数据===================================================================
uint8 readI2C2(char *readtempbuf)//UINT8
{ uint8 bValue; uint8 i=0; uint8 checksum;
I2COpen(); DelayTime(DELAY_TIME);
SetSCLLow(); DelayTime(DELAY_TIME); DelayTime(DELAY_TIME); SetSCLHigh(); RemoteDelayms(DELAY_ST); //20ms I2CStart(); DelayTime(DELAY_TIME);
//—————————————-//write I2CWriteData(0x30); DelayTime(DELAY_TIME);//address point I2CWriteData(0x62); DelayTime(DELAY_TIME);//————————————— //read I2CStart(); DelayTime(DELAY_TIME);
I2CWriteData(0x31); DelayTime(DELAY_TIME);I2CReadData(&bValue);DelayTime(DELAY_TIME);if(bValue != 0x00) {I2CStop();DelayTime(DELAY_TIME);I2CClose();DelayTime(DELAY_TIME);return 0; }i = 0; readtempbuf[i] = bValue;
checksum = 0xc3; //0xc3;for(i = 1; i < 230; i++)//read:learndata(109B)+120=230 {I2CReadData(&bValue);DelayTime(DELAY_TIME);readtempbuf[i] = bValue; checksum += bValue; }I2CReadData(&bValue);DelayTime(DELAY_TIME);I2CStop(); DelayTime(DELAY_TIME); I2CClose(); DelayTime(DELAY_TIME);if(bValue != 0xFF){return 0;} else{ return 1;}
}
Viki Shi:
回复 Dace Feng1:
收到,感谢提供反馈