/*******************************************
函数名称:WriteBinFile
函数功能:写二进制文件
输入参数:cWriteFileTitle--要写的文件名,WriteByteOffect--数据在文件中的偏移量,
cWriteByteLen--数据长度,*cTransDataBuff--要写的数据
输出参数:
描述:
*******************************************/
void WriteBinFile(unsigned char cWriteFileTitle,unsigned char cWriteByteOffect,
unsigned char cWriteByteLen,unsigned char *cTransDataBuff)
{
DelayX1ms(5);
cCommandLen=0x05;
TxAndRxBuff[0]=0x00;
TxAndRxBuff[1]=0xd6;
//要写的文件标识符
TxAndRxBuff[2]=cWriteFileTitle;
//要写的数据在文件中的偏移量
TxAndRxBuff[3]=cWriteByteOffect;
//要写的数据长度
TxAndRxBuff[4]=cWriteByteLen;
SendCommandHead_Pro();
if(ErrorReadWriteBIT&iErrorRWrCard) goto WriteBinFileEnd;
Delay1XETU(4);
cCommandLen=cWriteByteLen;
memcpy(&TxAndRxBuff[0],cTransDataBuff,cWriteByteLen);
SendCommand(cCommandLen);
if(ErrorReadWriteBIT&iErrorRWrCard) goto WriteBinFileEnd;
if(ICSAM&icflag1)
{
TxAndRxBuff[0]=CardReceChar();
TxAndRxBuff[1]=CardReceChar();
}
else
{
TxAndRxBuff[0]=EsamReceChar();
TxAndRxBuff[1]=EsamReceChar();
}
if((TxAndRxBuff[0]!=0x90)||(TxAndRxBuff[1]!=0x00))
iErrorRWrCard=ErrorReadWriteBIT|iErrorRWrCard;
WriteBinFileEnd:;
}