EasyManua.ls Logo

Lex Computech CI770C - Page 101

Default Icon
110 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
95
Set output value
void F75111::InterDigitalOutput(BYTE byteValue)
{
BYTE byteData = 0;
byteData = (byteData & 0x01 )? byteValue + 0x01 : byteValue;
byteData = (byteData & 0x02 )? byteValue + 0x02 : byteValue;
byteData = (byteData & 0x04 )? byteValue + 0x04 : byteValue;
byteData = (byteData & 0x80 )? byteValue + 0x08 : byteValue;
byteData = (byteData & 0x40 )? byteValue + 0x10 : byteValue;
byteData = (byteData & 0x20 )? byteValue + 0x20 : byteValue;
byteData = (byteData & 0x10 )? byteValue + 0x40 : byteValue;
byteData = (byteData & 0x08 )? byteValue + 0x80 : byteValue; // get value bit by bit
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO2X_OUTPUT_DATA,byteData); // write byteData value via GPIO2X output pin
}
Get Input value
BYTE F75111::InterDigitalInput()
{
BYTE byteGPIO1X = 0;
BYTE byteGPIO3X = 0;
BYTE byteData = 0;
this->Read_Byte(F75111_INTERNAL_ADDR,GPIO1X_INPUT_DATA,&byteGPIO1X) ; // Get value from GPIO1X
this->Read_Byte(F75111_INTERNAL_ADDR,GPIO3X_INPUT_DATA,&byteGPIO3X) ; // Get value from GPIO3X
byteGPIO1X = byteGPIO1X & 0xF0; // Mask unuseful value
byteGPIO3X = byteGPIO3X & 0x0F; // Mask unuseful value
byteData = ( byteGPIO1X & 0x10 )? byteData + 0x01 : byteData;
byteData = ( byteGPIO1X & 0x80 )? byteData + 0x02 : byteData;
byteData = ( byteGPIO1X & 0x40 )? byteData + 0x04 : byteData;
byteData = ( byteGPIO3X & 0x01 )? byteData + 0x08 : byteData;
byteData = ( byteGPIO3X & 0x02 )? byteData + 0x10 : byteData;
byteData = ( byteGPIO3X & 0x04 )? byteData + 0x20 : byteData;
byteData = ( byteGPIO3X & 0x08 )? byteData + 0x40 : byteData;
byteData = ( byteGPIO1X & 0x20 )? byteData + 0x80 : byteData; // Get correct DI value from GPIO1X & GPIO3X
return byteData;
}

Table of Contents