Closed GoogleCodeExporter closed 8 years ago
SoftwareSerial uses Pin Change Interrupts, and as a result it is indeed in
direct conflict with this library.
The only way to make them compatible would be to do something like this:
* Figure out which port(s) you want to use for Software Serial.
* Figure out which port(s) you want to use for Pin Change Interrupts.
Set up the #defines in Pin Change Interrupts so as to shut off the Software
Serial ports: #define NO_PORTx_PINCHANGES
Copy the SoftwareSerial library to your personal libraries folder; call it
mySoftwareSerial or something like this. Do a global namechange from
SoftwareSerial to mySoftwareSerial.
Delete the appropriate ISR in mySoftwareSerial. For example, if you knew you
weren't going to use PORTD for SoftwareSerial, you would delete:
#if defined(PCINT2_vect)
ISR(PCINT2_vect)
{
SoftwareSerial::handle_interrupt();
}
#endif
and so on.
So this is a limitation, not a bug.
Original comment by m...@schwager.com
on 12 Mar 2012 at 12:24
[deleted comment]
[deleted comment]
I have tried to implement this by adding ...
1)#define NO_PORTD_PINCHANGES (in my sketch)
2)and deleting:
#if defined(PCINT2_vect)
ISR(PCINT2_vect)
{
SoftwareSerial::handle_interrupt();
}
#endif
I did not decide to rename the SoftwareSerial library contents as i do not know
how to do a global namechange. I need two serial ports and 5 external
interrupts, can you please advise me on what to do?
Original comment by nirvaans...@gmail.com
on 18 Mar 2014 at 12:42
Yes, you have to change the name of the .h file, the .cpp file, put them in
your directory alongside your sketch, and #include it under the new name. Then
it should work.
Original comment by mschw...@gmail.com
on 18 Mar 2014 at 12:11
Original issue reported on code.google.com by
gums...@yahoo.com
on 12 Mar 2012 at 12:53