unsigned char PIO_Get(const Pin *pin) { unsigned int reg; if ((pin->type == PIO_OUTPUT_0) || (pin->type == PIO_OUTPUT_1)) { reg = pin->pio->PIO_ODSR; } else { reg = pin->pio->PIO_PDSR; } if ((reg & pin->mask) == 0) { return 0; } else { return 1; } }