Datasheet

2011 Microchip Technology Inc. DS22228B-page 21
MCP2200
2.3.1.21 ReadPortValue
Function:
int SimpleIOClass::ReadPortValue()
EXAMPLE 2-21:
2.3.1.22 SelectDevice
Function:
int SimpleIOClass::SelectDevice(unsigned int uiDeviceNo)
EXAMPLE 2-22:
Summary: Reads the GPIO port as digital input.
Description: Reads the GPIO port and returns the value of the port. This provides a method to read all pins
simultaneously, instead of one-by-one. In case of an error, the returned value will be 0x8000.
Precondition: Must be previously configured as an input via a
ConfigureIO call.
VID and PID must be previously set via a call to
InitMCP2200(VID, PID).
Parameters: None.
Returns: This function returns True if the transmission is successful and returns False if the transmission fails.
Remarks: Pins configured for output return the current state of the port. Pins configured as input read as zero.
Summary: Selects one of the active devices in the system.
Description: The function is used to select one of the detected devices in the system as the “active device”.
Precondition: At least one call to the
InitMCP2200() is required in order to initiate a DLL search for the compatible
devices. Also, in order to know the actual number of devices in the system, call the
SimpleIOClass::IsConnected() function. VID and PID must be previously set via a call to
InitMCP2200(VID, PID).
Parameters: uiDeviceNo - the ID of the device to be selected (can have a value between 0 and the number of
devices minus 1).
Returns: This function returns ‘
0’ in case of selection success, otherwise it will return:
E_WRONG_DEVICE_ID (-1) for a device ID that is out of range
E_INACTIVE_DEVICE (-2) for an inactive device.
Remarks: Call the
SimpleIOClass::IsConnected() prior to the call of this function in order to have the most
recent number of devices that are present in the system.
int rv;
rv = SimpleIOClass::ReadPortValue()
if (rv != 0x8000)
{
lblStatusBar->Text = “Success”;
}
else
lblStatusBar->Text = “Invalid command ” + SimpleIOClass::LastError;
int iResult;
iResult = SimpleIOClass::SelectDevice(1)
if (iResult == 0)
{
lblStatusBar->Text = “Success”;
}
else
lblStatusBar->Text = “Error selecting device”;