You are here

USB interrupt | Cypress Semiconductor

USB interrupt

Summary: 1 Reply, Latest post by U2 on 18 Feb 2011 12:54 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
jln's picture
1 post

I am very new to programming microcontrollers so if I am asking a dumb question, sorry. I downloaded the "USB Interrupt Loopback Example" but it has a while loop in the beginning of main c that is preventing me from implementing the rest of my program. I need it to operate similar to your "nesting interrupts example". Is there a way to keep the loop out of main c, or a way to ignore it until the usb cable is plugged into the board? I have been working with c programming and Psoc less than 3 months so any help would be appreciated. Thanks.

uday's picture
Cypress Employee
569 posts


It's a very valid question that you have asked. The USB Example projects on the web are projects dedicated to demonstarte the USB capability. Hence there is a while loop which is not exited untill USB enumeration is complete.

Once your USB device(any USB chip, here it is PSoC) is inserted, the host(PC or similar device) assigns a configuration to the USB device. The API USBFS_bGetConfiguration ( ), checks if a valid configuration has been assigned. Hence as you pointed out, PSoC device will stay in the while loop, while( ! USBFS_bGetConfiguration ( ) ), untill PSoC device enumerates as a USB device and gets a valid device configuration.

However in general application this is not necessary, you can develop your custom project code and add a condition that checks to see if a valid configuration has been assigned  "if( USBFS_bGetConfiguration ( ) )". You can set a flag once the USB device has got valid configuration an then start all your USB transactions.

Feel free to ask any questions. Everybody has to go through the learning curve, we are there to help you !


Log in to post new comments.