这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » MSP430操作(发送一个命令字节)

共1条 1/1 1 跳转至

MSP430操作(发送一个命令字节)

助工
2014-09-27 22:31:57     打赏
功能描述:发送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();        
    }
}    
 

 



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]