1

In a project, I’m using an EIA485 bus to send encrypted data packets. That works with Arduino’s buffered serial, but it is kind of awkward, and I’m using none of the more complex stuff in that class anyway.

If I do not use Serial anywhere in my Arduino sketch, is it safe to create my own interrupt handlers for USART_RXC etc. and to directly manipulate the USART registers?

1

Absolutely. The only interrupt that Arduino takes for itself unilaterally is the timer 0 overflow interrupt, used for timing purposes (delay(), milliseconds(), et alia).

  • 1
    Does it only define the ISR (like this one) once you've used the Serial object? – Gerben Dec 29 '14 at 19:33
  • 1
    @Gerben: Using Serial causes it to link in two additional vectors on the '328P: USART, RX and USART, UDRE. I have not checked whether using Serial1 et alia is required for the further vectors on the '1280 or '2560. And to be fair I have not verified any of this on ARM. – Ignacio Vazquez-Abrams Dec 29 '14 at 19:46
  • 1
    Hmm 485. FYI if your interested in 9bit. I recently helped a friend and found it much quicker to tweak the existing core library. Rather than rewrite it. See gist.github.com/mpflaga/ebe6aadd20f81de8e970 – mpflaga Dec 30 '14 at 0:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.