USBUART, v2.8 works, v3.0 doesn't ? | Cypress Semiconductor
USBUART, v2.8 works, v3.0 doesn't ?
I am trying to bring up some code on a PSoC5LP chip. I have an old project where I got the USBUART component set up and working, and I usually just copy & paste the component in, add the init code, and it works fine.
Recently, I updated the component in a design to the v3.0 version. Now, with the same init code and same hardware, the USBUART does not work, and hangs somewhere in initialization. If I copy and paste the old component, so I get the v2.8 one, then it works OK in the new project.
Here's a simplified version of the code I'm using:
CyGlobalIntEnable; /* Enable global interrupts. */
/* Start USBFS Operation with 3V operation */
/* Host can send double SET_INTERFACE request. */
if (0u != USBUART_1_IsConfigurationChanged())
/* Initialize IN endpoints when device is configured. */
if (0u != USBUART_1_GetConfiguration())
/* Enumeration is done, enable OUT endpoint to receive data
* from host. */
sprintf(myStr, "USBUART started.\r\n");
while( USBUART_1_CDCIsReady() != 0u );
//LED indicated startup done
board_LED_Write(1); //LED on after startup
And ideas on what's wrong? I looked at the latest version of the USBUART code example project, and as far as I can tell, the init code is unchanged, and that is exactly what I am using there.
There was one strange issue with the driver, where Device Manager was reporting it as "Teensy USB Serial", but I forcefully changed the driver to the signed INF provided in the code example project, which loaded without a hitch. Device Manager now reports it as "Cypress USB UART".