Max232-RS232-TTL สื่อสาร Arduino Mega

ศึกษาการสื่อสารอนุกรมด้วยบอร์ดตัวแปลง RS232-TTL  รุ่น  Max232  ด้วยบอร์ด ArduinoMega2560

โดยใช้โค่ดตัวอย่างจาก  Link 

และติดตามผลด้วย Terminal Debugging Software

#define RS232PORT Serial3
#define USBPORT   Serial
#define RS232BAUDRATE  115200
#define USBBAUDRATE    115200

void setup()
{
  RS232PORT.begin(RS232BAUDRATE); // default is 8,N,1
  USBPORT.begin(USBBAUDRATE);
  // while (!SerialUSB);
  Serial.begin(115200);
}

void loop()
{
  byte cData[100];
  int nBytesAvail = 0;
  int nBytes = 0;

  if((nBytesAvail = RS232PORT.available()) >0)
  {
    // Read data into receive buffer
    nBytes = RS232PORT.readBytes(cData,nBytesAvail);

    // Write teh data to the other port
    USBPORT.write(cData,nBytes);
    
  }//end if
  // check for data from th eusb port
  if((nBytesAvail = USBPORT.available())>0)
  {
    // Read data into receive buffer
    nBytes = USBPORT.readBytes(cData,nBytesAvail);

    // Write the data to other port
    RS232PORT.write(cData,nBytes);
  } // end if
  
}// end loop

โค้ดนี้ทำงานอย่างไร

Serial Monitor ของ Arduino IDE จะทำหน้าที่รับข้อมูลทางช่อง Serial Input เมื่อกด Enter จะส่งข้อมูลจาก AtMega ออกทาง Serial Port 3 และ USBPort จะอ่านผลจาก RS232 Port และแสดงผลบน Terminal Software    โดยดาวน์โหลดซอฟต์แวร์ได้ที่นี่ครับ

 

ได้ผลตามคลิป

 

313 total views, 2 views today