What timer does USB serial monitor use?

I need to use a couple of ISRs and thud need to know what is already used.

millis() uses timer 0 , but what does serial use?

I've read that both read and write are interrupt driven on arduino > v1.0 but can't find anything in the code.

What interrupts are used by out of the box arduino and what file is this all in?

thx

What board?

If you are talking about the standard boards like the Uno, Mega, and variants of such, they don't use timers for Serial. They use the Hardware UART interrupts - TX complete, and RX complete (cant remember the exact names).

If you look in the datasheets, there are about 26 different interrupt sources (for the uno), some are from timers, and some are from other hardware peripherals (UART, SPI, I2C, ADC, EEPROM, etc).

Yes, I should have specified : Uno.

So I should be free to use all timer interrupts except for Timer0 without interfering with anything on the std set-up.

The UART interrupts where causing quite a bit of jitter when it was outputting , I'll make it less verbose if it's a problem.

thanks for the reply.

The thing about interrupts is if one goes off while another is being excecuted, they get queued up. This means they have to wait to be executed until the other has finished.

If you have a lot being transmitted, there will be a lot of interrupts for sending the data (one per character/byte). This could interfere with your timer interrupt routine or vice versa - especially if you have a large amount of code in your routine.

The thing about interrupts is if one goes off while another is being excecuted, they get queued up. This means they have to wait to be executed until the other has finished.

One of each type gets queued, not all interrupts of any type.