ciao
Sto cercando di usare più di una serial port per comunicare con un modulo HC12 e HC05 Bluetooth.
Ho letto che è possibile ma non riesco:
#include <SoftwareSerial.h>
//-------------------------------HC12 radio 433Mhz
byte HC12RxdPin = 2; // "RXD" Pin on HC12
byte HC12TxdPin = 3; // "TXD" Pin on HC12
byte HC12SetPin = 7; // "SET" Pin on HC12
SoftwareSerial Radio_HC12(HC12TxdPin, HC12RxdPin); // RX nano to HC-12 TX Pin, TX nano to HC-12 RX Pin
//-------------------------------HC05 radio BT
byte HC05RxPin = 9; // "RXD" Pin on HC05
byte HC05TxPin = 10; // "TXD" Pin on HC05
//const byte HC12SetPin = 6; // "SET" Pin on HC05
SoftwareSerial BT(HC05RxPin, HC05TxPin);
...
void setup()
{
Serial.begin(9600); // Open serial port to computer
//------------------------HC12
Radio_HC12.begin(9600);// Open serial port to HC12
pinMode(HC12SetPin, OUTPUT);
digitalWrite(HC12SetPin, HIGH);
delay(500);
Serial.println("HC12 ready:");
// ----------------------HC05 BT
// BT.begin(9600); // Open serial port to HC05
...
ma mi serve anche l'ultima riga per mandare dati via Bbluetooth alla app sul telefono
ho trovato questo codice e il mio mi sembra formalmente uguale nella parte iniziale e nel setup
#include <SoftwareSerial.h>
SoftwareSerial serialOne(2, 3); // Software Serial ONE
SoftwareSerial serialTwo(8, 9); // Software Serial TWO
void setup() {
Serial.begin(9600);
while (!Serial) { // wait till Serial
}
serialOne.begin(9600);
serialTwo.begin(9600);
}
void loop() {
serialOne.listen(); // listening on Serial One
Serial.println("Data from port one:");
while (serialOne.available() > 0) {
char inByte = serialOne.read();
Serial.write(inByte);
}
Serial.println();
serialTwo.listen(); // listening on Serial Two
Serial.println("Data from port two:");
while (serialTwo.available() > 0) {
char inByte = serialTwo.read();
Serial.write(inByte);
}
Serial.println();
}
grazie
