aboutsummaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'libraries')
-rw-r--r--libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino10
-rw-r--r--libraries/SoftwareSerial/src/SoftwareSerial.cpp4
-rw-r--r--libraries/SoftwareSerial/src/SoftwareSerial.h2
-rw-r--r--libraries/Wire/src/utility/twi.c6
4 files changed, 11 insertions, 11 deletions
diff --git a/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino b/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
index 26659d6..8d7f93e 100644
--- a/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
+++ b/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
@@ -13,8 +13,8 @@
The circuit:
Two devices which communicate serially are needed.
- * First serial device's TX attached to digital pin 2, RX to pin 3
- * Second serial device's TX attached to digital pin 4, RX to pin 5
+ * First serial device's TX attached to digital pin 10(RX), RX to pin 11(TX)
+ * Second serial device's TX attached to digital pin 8(RX), RX to pin 9(TX)
Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
@@ -26,7 +26,7 @@
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
created 18 Apr. 2011
- modified 25 May 2012
+ modified 19 March 2016
by Tom Igoe
based on Mikal Hart's twoPortRXExample
@@ -35,10 +35,10 @@
*/
#include <SoftwareSerial.h>
-// software serial #1: TX = digital pin 10, RX = digital pin 11
+// software serial #1: RX = digital pin 10, TX = digital pin 11
SoftwareSerial portOne(10, 11);
-// software serial #2: TX = digital pin 8, RX = digital pin 9
+// software serial #2: RX = digital pin 8, TX = digital pin 9
// on the Mega, use other pins instead, since 8 and 9 don't work on the Mega
SoftwareSerial portTwo(8, 9);
diff --git a/libraries/SoftwareSerial/src/SoftwareSerial.cpp b/libraries/SoftwareSerial/src/SoftwareSerial.cpp
index 0a16ff7..474fe4a 100644
--- a/libraries/SoftwareSerial/src/SoftwareSerial.cpp
+++ b/libraries/SoftwareSerial/src/SoftwareSerial.cpp
@@ -48,7 +48,7 @@ http://arduiniana.org.
// Statics
//
SoftwareSerial *SoftwareSerial::active_object = 0;
-char SoftwareSerial::_receive_buffer[_SS_MAX_RX_BUFF];
+uint8_t SoftwareSerial::_receive_buffer[_SS_MAX_RX_BUFF];
volatile uint8_t SoftwareSerial::_receive_buffer_tail = 0;
volatile uint8_t SoftwareSerial::_receive_buffer_head = 0;
@@ -270,7 +270,7 @@ void SoftwareSerial::setTX(uint8_t tx)
{
// First write, then set output. If we do this the other way around,
// the pin would be output low for a short while before switching to
- // output hihg. Now, it is input with pullup for a short while, which
+ // output high. Now, it is input with pullup for a short while, which
// is fine. With inverse logic, either order is fine.
digitalWrite(tx, _inverse_logic ? LOW : HIGH);
pinMode(tx, OUTPUT);
diff --git a/libraries/SoftwareSerial/src/SoftwareSerial.h b/libraries/SoftwareSerial/src/SoftwareSerial.h
index 622e2a5..26183ba 100644
--- a/libraries/SoftwareSerial/src/SoftwareSerial.h
+++ b/libraries/SoftwareSerial/src/SoftwareSerial.h
@@ -66,7 +66,7 @@ private:
uint16_t _inverse_logic:1;
// static data
- static char _receive_buffer[_SS_MAX_RX_BUFF];
+ static uint8_t _receive_buffer[_SS_MAX_RX_BUFF];
static volatile uint8_t _receive_buffer_tail;
static volatile uint8_t _receive_buffer_head;
static SoftwareSerial *active_object;
diff --git a/libraries/Wire/src/utility/twi.c b/libraries/Wire/src/utility/twi.c
index f5d7d5b..171af73 100644
--- a/libraries/Wire/src/utility/twi.c
+++ b/libraries/Wire/src/utility/twi.c
@@ -304,7 +304,7 @@ uint8_t twi_transmit(const uint8_t* data, uint8_t length)
uint8_t i;
// ensure data will fit into buffer
- if(TWI_BUFFER_LENGTH < length){
+ if(TWI_BUFFER_LENGTH < (twi_txBufferLength+length)){
return 1;
}
@@ -314,10 +314,10 @@ uint8_t twi_transmit(const uint8_t* data, uint8_t length)
}
// set length and copy data into tx buffer
- twi_txBufferLength = length;
for(i = 0; i < length; ++i){
- twi_txBuffer[i] = data[i];
+ twi_txBuffer[twi_txBufferLength+i] = data[i];
}
+ twi_txBufferLength += length;
return 0;
}