Microduino-Module RS485/zh

来自Microduino Wikipedia
853387039@qq.com讨论 | 贡献2014年11月22日 (六) 14:53的版本
跳转至: 导航搜索
Language English
Microduino- RS485

Microduino- RS485是基于MAX485芯片低功耗的串口通讯模块,能实现串口的双向传输数据。








特色

  • 低功耗,传输速率快,距离远
  • 工作在半双工,只需要两根线
  • 可选择自动转换收发
  • 将TTL电平转换为RS-485电平
    • RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6) V表示;逻辑“0”以两线间的电压差为-(2—6)V表示
  • 结合Microduino核心或扩展模块,通过拨码开关选择串口(Serial,Serial1,myserial(9,10))
  • 标准的Upin27接口

规格

  • 工作电压: 5 V,额定电流为300 μA
  • 采用半双工通讯方式,同一个时间只能发送或者接收数据
  • 最高2.5Mbps的传输速率
  • 可自动控制转换接收数据还是发送数据,也可程序控制,一般选择自动方式。

文档

开发

485通讯接口是一个对通讯接口的硬件描述,它只需要两根通讯线,既可以在两个或两个以上的设备之间进行数据传输。这种数据传输的连接,是半双工的通讯方式。即在某一个时刻,一个设备只能进行发送数据或接收数据。

硬件上可以通过拨动开关来选择串口通讯,同时你需要借助程序来实现不同的串口之间通过485协议传输数据。

应用

  • 采用两个Core+做串口数据传输,通过串口监视器发送想要传输的数据。
  • 硬件搭建
硬件 数量 功能
Microduino-Core+/zh 2个 核心
Microduino-USBTTL/zh 2个 下载程序
Microduino-RS485/zh 2个 485通讯
USB数据连接线 2条 连通Microduino模块与计算机。
  • 将Core+,USBTTL,RS485叠加起来,分别搭建两组,在通过导线将485协议接口连接起来。
  • 通过拨动开关选择串口1(Serial1),参考引脚规则图,选择自动方式。
    • TX:0101,RX:0010
  • 程序
//#include <SoftwareSerial.h>

//SoftwareSerial mySerial(9, 10); //RX,TX

String comdata_rec = "";  //显示的字符串
String onedata_rec = "";  //判断clean缓存字符串

String comdata_send = "";  //显示的字符串
String onedata_send = "";  //判断clean缓存字符串

String serialdata_rec="";
String serialdata_send="";

void setup()
{
  Serial.begin(9600);
  Serial1.begin(115200);     
}

void loop() // run over and over again
{  
  while (Serial.available() > 0)  
  {
    comdata_rec = "";                //清空字符
    serialdata_rec = "";
    onedata_rec += char(Serial.read());  //读取字符
    comdata_rec += onedata_rec;          //同上
    delay(30);
  }
  if( serialdata_rec!=comdata_rec)
  {
    onedata_rec = "";  //缓存字符串清空
    serialdata_rec=comdata_rec;
    Serial1.print(comdata_rec);
  }

  while (Serial1.available() > 0)  
  {
    comdata_send = "";                     //清空字符
    serialdata_send = "";
    onedata_send += char(Serial1.read()); //读取字符
    comdata_send += onedata_send;               //同上
    delay(30);
  }
  if( serialdata_send!=comdata_send)
  {
    onedata_send = "";  //缓存字符串清空
    serialdata_send=comdata_send;
    Serial.println(comdata_send);
  }
}
  • 请确认你搭建了Microduino开发环境,参考:Microduino Getting start/zh
  • 分别将程序下载到两个核心板,打开串口监视器,通过一个监视器发送数据,可以看到另一个监视器接收到发送的数据,说明数据由一个模块传给另一个模块了。
Microduino - RS485-send1.JPG
Microduino - RS485-send2.JPG

购买

历史

图库

  • 正面
Microduino- Microduino- RS485-F.JPG
  • 背面
Microduino- Microduino- RS485-b.JPG

视频