I have 2 GPIF configurations I'd like to use in an application. The first GPIF configuration only uses 16 bits so that the SPI peripheral is available. However the second 2 GPIF configuration that I change to by calling CyU3PGpifDisable(CyTrue); and CyU3PGpifLoad() enters a weird mode where it does record 32 bits of data to DMA buffers however the top 16 bits are equivalent to the lower 16 bits. If I bypass loading the 16bit GPIF config and go straight to the 32bit config everything is fine.
When I initialize the device with CyU3PDeviceConfigureIOMatrix(), isDQ32Bit is set to true. Is there any way to toggle isDQ32Bit when I change between the 2 different GPIF configurations? The reason I ask is because it is my understanding that CyU3PDeviceConfigureIOMatrix() can only be called once.
you can call IoMatrix... more than one time. That is necessary to switch between 16-/32-bit Mode of GPIF interface and also to activate/deactivate the peripheral SPI interface. That stuff is already discussed in this forum, see following post....