pierceleung 发表于 2018-9-14 09:24:51

arduino+MAX485实现数据交互

向各位前辈请教:

硬件设备:arduino UNO R3开发板、MAX485模块、某一PLC

硬件连接图:

备注:MAX485的A、B与PLC对应接上

想要实现的功能:arduino串口USB接线到PC,PC调试助手上发送指令给arduino,数据再转给PLC,PLC得到响应后,返回数据响应。

程序:#include <SoftwareSerial.h>
SoftwareSerial Master(10,11);
char val;
int DE_RE=2;

int ledPin = 13;

void setup() {
pinMode(ledPin, OUTPUT);

Serial.begin(9600);

Master.begin(9600);

pinMode(DE_RE,OUTPUT);
digitalWrite(DE_RE,LOW);

}

void loop() {

while(Serial.available())          //Serial.available() 的意思是:返回串口缓冲区中当前剩余的字符个数。
    {                                 //一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0时,
   digitalWrite(DE_RE,HIGH);      //使能发送
   digitalWrite(ledPin,HIGH);
   
   val=Serial.read();            //说明串口接收到了数据,可以读取;
   Master.write(val);
    }
   
    delay(1000);

    digitalWrite(DE_RE,LOW);      //使能接收
    while(Master.available())
    {
      
      val=Master.read();
      Serial.write(val);
   }

}

pierceleung 发表于 2018-9-14 09:27:41

调试助手发送接收情况

pierceleung 发表于 2018-9-14 10:46:16

更正,正确接线图
页: [1]
查看完整版本: arduino+MAX485实现数据交互