Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
Hi alex934, I am facing the same problem as you faced .I too want to interrupt my while(1) loop. can you please share the solution with me beacuse i don't know how to use interrupts given in episr.c. Now i Know how to use ISR but it is transmitting and receiving only 64 bytes at a time. I wish to send 512 bytes at a time. plz give some solution
At the end of the day, all your interrupt could do is stuff the data into a buffer and set a flag that there is something in the buffer.
Then, your main loop would need to periodically check the flag, and then process the buffer contents if the flag is set.
The copy-to-buffer is already done for you, and you can consider the call to USBUART_1_DataIsReady() as the same thing as checking your flag. So why doen't the approach you pasted above work for you? I can't think of any other way to do it.
You certainly should not be processing the contents of the received data inside the interrupt service routine.