Dueling ISRs in UART component | Cypress Semiconductor
Dueling ISRs in UART component
I am still at work on a project using the DMX RS485 protocol used for lighting systems. Basically what this application does is receive the data (512 bytes) in, shift it over depending on the address requested by two capsense buttons, and send it back out starting at that address.
The problem I am having is that the data streams need to be continuous, at least for all 512 bytes plus some start of stream indication. The two ISRs are constantly firing for each byte because it takes to long either to read it all in, and then to write it all out at once and causes jerky reaction from the lights.
My question is if there is a way to have the receiving ISR go until its buffer is full, then turn off, and turn on the transmit ISR. The transmit ISR would then transmit it's 512 bytes, and turn off, turning back on the receive ISR.
I may be going about this in a very convoluted way, please let me know if that is the case as well.
Thank you, see attached project.