- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i try to usb GPIO to simulate i2c peripheral
send data is fine but i cant read SDA value
this how i init SDA pin
apiRetStatus = CyU3PDeviceGpioOverride(25, CyTrue);
if (apiRetStatus != 0) {
CyU3PDebugPrint(4, "CyU3PDeviceGpioOverride failed, error code = %d\n", apiRetStatus);
}
gpioConfig.outValue = CyTrue;
gpioConfig.driveLowEn = CyTrue;
gpioConfig.driveHighEn = CyTrue;
gpioConfig.inputEn = CyTrue;
gpioConfig.intrMode = CY_U3P_GPIO_NO_INTR;
apiRetStatus = CyU3PGpioSetSimpleConfig(25, &gpioConfig);
if (apiRetStatus != CY_U3P_SUCCESS) {
}
CyU3PThreadSleep(10);
CyU3PGpioSetValue(25, CyTrue);
while i call CyU3PGpioGetValue function it always return 0;
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We can not configure the GPIO in both input and output.
It can only work as either of two.
If you want this functionality, you have to modify the GPIO configuration whenever you want to switch to another mode (Input to Output or Vice versa).
FX3 comes with one I2C Master. Is this not meeting your requirements?
Why do you need another I2C Master here?