注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
tiankai001的个人空间 https://home.eeworld.com.cn/space-uid-139222.html [收藏] [复制] [分享] [RSS]
日志

CPU卡设计实例及程序设计(十二)写二进制文件

已有 1009 次阅读2017-2-20 23:42 |个人分类:CPU卡开发设计程序实例| 程序设计, 二进制, CPU卡

/*******************************************
函数名称: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:;   
}
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章