打印

MSP430操作CPU卡原程序---(发送一个命令字节)

[复制链接]
1668|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
雁舞白沙|  楼主 | 2009-1-15 13:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//-----***-void CpuCardIccSend(unsigned char SendBuf)-***-----//
//---功能描述:发送COS命令中的一个字节。 
//---输入条件:SysKind=0--->EasmChip的操作,SysKind=1-->CpuCard的操作,SendBuf--->待发送的数据。 
//---输出项目:无。EasmChip
void CosSend(bool SysKind,unsigned char SendBuf)
{    
    Even = 0;
    Test = 0;
    WDT();
    SysErrInfo = 0x00;
    Delay10etu();    //1etu
    if(SysKind)
    {
        WDT();
        Even = 0;
        CpuCardSdaDirOut;//CARD_IO_DDR = 1;output
        CpuCardSdaLow;//CARD_IO = 0;start Bit=0
        Test=0;
        Test=0;
        Test=0;
        Test=0;
        Test >>= 1;
        Delay10etu();//1etu
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        for(Bits = 0; Bits < 8; Bits++)
        { 
            if((SendBuf & 0x01) == 0x01)
            { 
                Even =~Even;
                CpuCardSdaHig; //CARD_IO = 1;
            }
            else
            { 
                Test = ~Test; 
                CpuCardSdaLow; //CARD_IO = 0;
            }
            SendBuf >>= 1;
            Delay10etu(); //1etu
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
        }
        if(Even) 
        {
            CpuCardSdaHig; //CARD_IO = 1  
        }
        else
        {
            CpuCardSdaLow; //CARD_IO = 0 
        }
        Delay10etu();  //1etu
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        CpuCardSdaHig;  //CARD_IO_DIR = 0;input
        Delay10etu();  //1etu     
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();               
    }
    else
    {
        WDT();
        Even = 0;
        EasmChipSdaDirOut;//CARD_IO_DDR = 1;output
        EasmChipSdaLow;//CARD_IO = 0;start Bit=0
        Test=0;
        Test=0;
        Test=0;
        Test=0;
        Test >>= 1;
        Delay10etu();//1etu
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        for(Bits = 0; Bits < 8; Bits++)
        { 
            if((SendBuf & 0x01) == 0x01)
            { 
                Even =~Even;
                EasmChipSdaHig; //CARD_IO = 1;
            }
            else
            { 
                Test = ~Test; 
                EasmChipSdaLow; //CARD_IO = 0;
            }
            SendBuf >>= 1;
            Delay10etu(); //1etu
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
            _NOP();
        }
        if(Even) 
        {
            EasmChipSdaHig; //CARD_IO = 1  
        }
        else
        {
            EasmChipSdaLow; //CARD_IO = 0 
        }
        Delay10etu();  //1etu
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        EasmChipSdaHig;  //CARD_IO_DIR = 0;input
        Delay10etu();  //1etu     
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();        
    }
}    
 
MSP430操作CPU卡原程序-----本人作品禁止任何形式的转载

相关链接:http://blog.21ic.com/user1/405/archives/2009/54985.html

相关帖子

沙发
lost1421| | 2009-1-15 13:25 | 只看该作者

C写的

可以移植一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

213

主题

789

帖子

243

粉丝