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);
}
} 调试助手发送接收情况 更正,正确接线图
页:
[1]