Hello folks
Yesterday I has helping a user here in the forum and he was using a softwareSerial in a Arduino Uno R3.
The user was using the pin 9 for RX and pin 10 to TX and I warn him that pin 9 does not support interrupts so it will not get data since it will not fire an interrupt when some byte arrives.
In softwareSerial example code in version 1.0.5 have this:
Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69Not all pins on the Leonardo support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
Telling that the Leonard only support interrupt on pins 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI)
But the official page of arduino Uno Rev3 only says there are only two interrupt pins
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
Trying to check who is correct I found this in the datasheet
The External Interrupts are triggered by the INT0 and INT1 pins or any of the PCINT23...0 pins. Observe that, if
enabled, the interrupts will trigger even if the INT0 and INT1 or PCINT23...0 pins are configured as outputs. This
feature provides a way of generating a software interrupt.
Does this mean in fact all the pins support interrupts?