Beispiel #1
0
bool Cuart::run(void)
{

    if (outputBuffer.size()) {
        Set_RS(true);
    }

    if (RS && CS)	{ Set_SD( (sendBit()==Bit_1) ? true:false);	}

    if (CD) { Set_RR(1); Set_CD(1); }
    bitToByte();

    return true;
}
Beispiel #2
0
bool Csio::run(void)
{
    pSIOCONNECTOR_value = pSIOCONNECTOR->Get_values();

	// Read connector
    Set_SD( SIO_GET_PIN(S_SD) );
    Set_RR( SIO_GET_PIN(S_RR) );
    Set_RS( SIO_GET_PIN(S_RS) );
    Set_ER( SIO_GET_PIN(S_ER) );
//	Set_PRQ( SIO_GET_PIN(S_PRQ) );
	
    if (RS) {
        Set_CS(1);
        Set_CD(1);
//        if (mainwindow->dialoganalogic) mainwindow->dialoganalogic->setMarker(1);
    }

	Sii_bit = 0;
    if (ER && CD && RR)	{
//        if (mainwindow->dialoganalogic) mainwindow->dialoganalogic->setMarker(8);
        Sii_bit = transmit();


    }
	Set_RD( Sii_bit );	
	

    receive();

    SIO_SET_PIN(S_RD, Get_RD());
    SIO_SET_PIN(S_CS, Get_CS());
    SIO_SET_PIN(S_CD, Get_CD());
    //SIO_SET_PIN(SIO_PAK, 0);

    pSIOCONNECTOR_value = pSIOCONNECTOR->Get_values();
//    pTIMER->state++;
	return true;
}