“Microduino-Module RS485/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第3行: 第3行:
 
|-
 
|-
 
|
 
|
[[File: Microduino-RS485-rect.jpg|400px|thumb|right|Microduino-RS485]]
+
[[File: Microduino-RS485-rect.jpg|400px|thumb|center|Microduino- RS485]
 
 
 
Microduino- RS485是基于MAX485芯片低功耗的串口通讯模块,能实现串口的双向传输数据。
 
Microduino- RS485是基于MAX485芯片低功耗的串口通讯模块,能实现串口的双向传输数据。
 
 
  
  
第29行: 第26行:
 
*采用半双工通讯方式,同一个时间只能发送或者接收数据
 
*采用半双工通讯方式,同一个时间只能发送或者接收数据
 
*最高2.5Mbps的传输速率
 
*最高2.5Mbps的传输速率
*可自动控制转换接收数据还是发送数据
+
*可自动控制转换接收数据还是发送数据,也可程序控制,一般选择自动方式。
 
 
[[File: Microduino-RS485-pin.jpg|800px|thumb|center]]
 
  
 
==文档==
 
==文档==
 
*芯片:'''[[File:MAX485.pdf]]'''
 
*芯片:'''[[File:MAX485.pdf]]'''
 
==开发==
 
==开发==
 +
485通讯接口是一个对通讯接口的硬件描述,它只需要两根通讯线,既可以在两个或两个以上的设备之间进行数据传输。这种数据传输的连接,是半双工的通讯方式。即在某一个时刻,一个设备只能进行发送数据或接收数据。
 +
硬件上可以通过拨动开关来选择串口通讯,同时你需要借助程序来实现不同的串口之间通过485协议传输数据。
 +
 +
==应用==
 +
*采用两个Core+做串口数据传输,通过串口监视器发送想要传输的数据。
 +
*硬件搭建
 +
{|class="wikitable"
 +
|-
 +
|硬件||数量||功能
 +
|-
 +
| [[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
 +
 +
*程序
 +
<source lang="cpp">
 +
//#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);
 +
  }
 +
}
 +
</source>
 +
*请确认你搭建了Microduino开发环境,参考:[[Microduino Getting start/zh]]
 +
*分别将程序下载到两个核心板,打开串口监视器,通过一个监视器发送数据,可以看到另一个监视器接收到发送的数据,说明数据由一个模块传给另一个模块了。
 +
[[file:Microduino - RS485-send1.JPG|thumb|600px|center]]
 +
[[file:Microduino - RS485-send2.JPG|thumb|600px|center]]
  
 
==购买==
 
==购买==

2014年11月22日 (六) 14:51的版本

Language English

[[File: Microduino-RS485-rect.jpg|400px|thumb|center|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

视频