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

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

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

/*******************************************
函数名称:ReadBinFile
函数功能:读二进制文件
输入参数:cReadFileTitle,文件标识符,
          cReadByteOffect,欲读取数据在文件中的偏移量
          cReadByteLen需要返回的数据长度
输出参数:无
描述:
*******************************************/
void ReadBinFile(unsigned char cReadFileTitle,unsigned char cReadByteOffect,
                 unsigned int cReadByteLen)
{
  int itemp;
  unsigned int iTemp;
  delay_ms2M(5); 
  iTemp=cReadByteLen;
  cCommandLen=0x05; 
  TxAndRxBuff[0]=0x00; 
  TxAndRxBuff[1]=0xb0;
  //要读取的文件01(短文件标识符)
  TxAndRxBuff[2]=cReadFileTitle;  
  //读取偏移量
  TxAndRxBuff[3]=cReadByteOffect;   
  //要读取的数据长度
  TxAndRxBuff[4]=(unsigned char)iTemp;      
  SendCommandHead_Pro();
  //Delay1XETU(4);
   //读卡
  if(ICSAM&icflag1)                        
  {
    for(itemp=0;itemp<cReadByteLen+2;itemp++)
    {
      TxAndRxBuff[itemp]=CardReceChar();
      if(ErrorReadWriteBIT&iErrorRWrCard) break;
    }
  }
  //读模块
  else                                      
  { 
    for(itemp=0;itemp<cReadByteLen+2;itemp++)
    {
      TxAndRxBuff[itemp]=EsamReceChar();
      if(ErrorReadWriteBIT&iErrorRWrCard) break;
    }
  }
  if((TxAndRxBuff[cReadByteLen]!=0x90)&&(TxAndRxBuff[cReadByteLen+1]!=0x00)) 
    iErrorRWrCard=ErrorReadWriteBIT|iErrorRWrCard;
  delay_ms2M(5);   
}
评论 (0 个评论)

facelist doodle 涂鸦板

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

热门文章