cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

Anonymous
Not applicable

 Hi,

   

is it not necessary to set simple or complex GPIO in CX3? Are the GPIO's already enabled after the call of CyU3PDeviceConfigureIOMatrix?

   

 

   

I get an error if I try to configure GPIO17... GPIO19 to simple gpio from CyU3PDeviceConfigureIOMatrix.

   

thanks,

   

lumpi

0 Likes
Reply
1 Solution
Anonymous
Not applicable

 You can manually override the pin for use as Simple or Complex GPIO.

   

 

   

To do that, you need to call CyU3PDeviceGpioOverride just before configuring the pin (using CyU3PGpioSetSimpleConfig).

   

 

   

i.e

   

CyU3PDeviceGpioOverride (17, CyTrue);

   

gpioConfig.outValue = ....;
gpioConfig.inputEn = ....;
gpioConfig.driveLowEn = ....;
gpioConfig.driveHighEn = ....;
gpioConfig.intrMode = ....;
apiRetStatus = CyU3PGpioSetSimpleConfig(17, &gpioConfig);
if (apiRetStatus != CY_U3P_SUCCESS)
{
   ......
}

View solution in original post

0 Likes
Reply
3 Replies
Anonymous
Not applicable

 I have the same problem.... Who knows solution?

0 Likes
Reply
Anonymous
Not applicable

 You can manually override the pin for use as Simple or Complex GPIO.

   

 

   

To do that, you need to call CyU3PDeviceGpioOverride just before configuring the pin (using CyU3PGpioSetSimpleConfig).

   

 

   

i.e

   

CyU3PDeviceGpioOverride (17, CyTrue);

   

gpioConfig.outValue = ....;
gpioConfig.inputEn = ....;
gpioConfig.driveLowEn = ....;
gpioConfig.driveHighEn = ....;
gpioConfig.intrMode = ....;
apiRetStatus = CyU3PGpioSetSimpleConfig(17, &gpioConfig);
if (apiRetStatus != CY_U3P_SUCCESS)
{
   ......
}

View solution in original post

0 Likes
Reply
New Contributor II

Hi, I also have this issue.

Here I find, you cannot use API CyU3PDeviceConfigureIOMatrix to configure GPIO17. Just only using CyU3PDeviceGpioOverride API to control this GPIO. Otherwise, CX3 will crash.

Angus

0 Likes
Reply