#define MAX_GPIO 8 ... ... ... bool DLPControl::GetGPIONum(int* num) { const int Pin[MAX_GPIO] = {13, 14, 15, 20, 21, 24, 25, 27}; bool enAltFunc, altFunc1, dirOutput, outTypeOpenDrain, state; *num = 0; for(int i =0; i * -1 = FAIL
* */ { hidMessageStruct msg; DLPC350_PrepReadCmdWithParam(GPIO_CONFIG, (unsigned char)pinNum); if(DLPC350_Read() > 0) { memcpy(&msg, g_InputBuffer, 65); *pEnAltFunc = ((msg.text.data[1] & BIT7) == BIT7); *pAltFunc1 = ((msg.text.data[1] & BIT6) == BIT6); *pDirOutput = ((msg.text.data[1] & BIT5) == BIT5); *pOutTypeOpenDrain = ((msg.text.data[1] & BIT4) == BIT4); if(*pDirOutput) *pState = ((msg.text.data[1] & BIT3) == BIT3); else *pState = ((msg.text.data[1] & BIT2) == BIT2); return 0; } return -1; }