AntonioVillanueva

Test de la libreria SoftwareSerial en Arduino nano

Oct 28th, 2021
942
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Test de la libreria  SoftwareSerial en arduino nano  A.Villanueva
  2.  *  
  3.  */
  4.  
  5.  
  6. #include <SoftwareSerial.h>
  7.  
  8. //Invertir cables entre los arduinos TX1-->RX2 ,RX1<--TX2    
  9. //#define PIN_TX 11 //D11
  10. //#define PIN_RX 10 //D10
  11. #define PIN_TX 5 //D11
  12. #define PIN_RX 4 //D10
  13.  
  14.  
  15. SoftwareSerial rs232(PIN_RX, PIN_TX); // RX, TX my serial
  16. unsigned char dato;
  17.  
  18. void setup() {
  19.  
  20.   pinMode(PIN_TX,OUTPUT);//TX1 --> rx2
  21.   pinMode(PIN_RX,INPUT);//RX1 <-- tx2
  22.  
  23.  
  24.   Serial.begin(9600);//Conexion USB hacia PC
  25.   while (!Serial) { }//Espera conexion usb DEBUG
  26.  
  27.   rs232.begin(9600);//Inicia puerto bis con SoftwareSerial
  28.  
  29. }
  30.  
  31. void loop() {
  32.   //Emisor TX
  33.   TX(dato++);
  34.  
  35.   //Receptor RX
  36.    RX();
  37.   delay (8000);
  38. }
  39.  
  40. //Emision
  41. void TX (unsigned char dato){//Escribe en el puerto serie bis
  42.   Serial.print("TX = ");
  43.   Serial.print(dato);
  44.   Serial.print(" , ");
  45.   Serial.print(dato,DEC);
  46.   Serial.print(" , ");
  47.   Serial.println(dato,HEX);    
  48.   rs232.write (dato);//Escribe dato en puerto SoftwareSerial
  49.   delay(2000);//Retardo 2s
  50. }
  51.  
  52. //Recepcion
  53. unsigned char RX (){//Recibe desde el puerto serie SoftwareSerial
  54.  
  55.   rs232.listen();//Pasa a la escucha  SoftwareSerial
  56.  
  57.   while (rs232.available ()){//Hay datos en SoftwareSerial ?
  58.     Serial.print("RX = ");
  59.     Serial.println (rs232.read());//Lee un dato y envia en el puerto serie USB
  60.   }
  61.  
  62. }
RAW Paste Data