Quote Originally Posted by Demon View Post
I might still go for that. But I'd really like to avoid any debounce on the PICs so they are free to USART with the main USB PIC.
This can work just fine:

1. Set up a timer interrupt at 10ms. Or even at 1ms and after ten int's do step 2.

2. Every interrupt read the buttons into the arrays. You can use a low priority interrupt if the PIC supports it.

3. Either with or without interrupt use the hardware USART to communicate. If you choose interrupt driven USART, use it as high priority, or Disable as long as you do serial, the timer interrupt.

Problem solved.

Ioannis