12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // AltSoftSerial Receive Test
- //
- // Transmit data with Serial1 and try to receive
- // it with AltSoftSerial. You must connect a wire
- // from Serial1 TX to AltSoftSerial RX.
- #include <AltSoftSerial.h>
- AltSoftSerial altser;
- const int mybaud = 9600;
- // Board Serial1 TX AltSoftSerial RX
- // ----- ---------- ----------------
- // Teensy 3.x 1 20
- // Teensy 2.0 8 (D3) 10 (C7)
- // Teensy++ 2.0 3 (D3) 4 (D4)
- // Arduino Leonardo 1 13
- // Arduino Mega 18 48
- // Serial1 on AVR @ 16 MHz minimum baud is 245
- // Serial1 on Teensy 3.2 @ 96 MHz minimum baud is 733
- // This example code is in the public domain.
- byte sentbyte;
- unsigned long prevmillis;
- byte testbyte=0xF0;
- void setup() {
- delay(200);
- Serial.begin(9600);
- while (!Serial) ; // wait for Arduino Serial Monitor
- Serial1.begin(mybaud); // connect a wire from TX1
- altser.begin(mybaud); // to AltSoftSerial RX
- Serial.println("AltSoftSerial Receive Test");
- prevmillis = millis();
- }
- void loop() {
- // transmit a test byte on Serial 1
- if (millis() - prevmillis > 250) {
- sentbyte = testbyte++;
- Serial1.write(sentbyte);
- prevmillis = millis();
- }
- // attempt to receive it by AltSoftSerial
- if (altser.available() > 0) {
- byte b = altser.read();
- Serial.println(b);
- if (b != sentbyte) Serial.println("***** ERROR *****");
- }
- }
|