G2L拥有四组串口,其中COM1、COM2为RS232电平,COM3、COM4为RS232电平
- 工作模式:RS232 为全双工,RS485 为半双工。
- 传输方式:RS485和RS232只是物理协议的通信(即接口标准),RS485是差分传输方式,RS232是单端传输方式,但通信程序没有太大区别。
- 信号线:RS485接口组成的半双工网络,一般只需二根信号线。RS-232 口一般只使用 RXD、TXD、GND 三条线 。
- 抗干扰性:RS485接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。RS232接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰。
- 传输距离:RS485接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。RS232传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。
- 通信能力:RS485 接口在总线上是允许连接多达128个收发器,用户可以利用单一的 RS485 接口方便地建立起设备网络。RS232只允许一对一通信。
- 传输速率:RS232传输速率较低,在异步传输时,波特率为 20Kbps。RS485 的数据最高传输速率为 10Mbps 。
- 电气电平值:RS485的逻辑"1"以两线间的电压差为+(2-6) V 表示;逻辑"0"以两线间的电压差为-(2-6)V 表 示 。在 RS-232 中任何一条信号线的电压均为负逻辑关系。即:逻辑"1",-(5-15)V;逻辑"0 " +(5- 15)V 。
串口 | 设备文件名 |
COM0[TTL,调试串口] | /dev/ttySC0 |
COM1[RS232] | /dev/ttySC1 |
COM2[RS232] | /dev/ttySC2 |
COM3[RS485] | /dev/ttySC3 |
COM4[RS485] | /dev/ttySC4 |
串口的分布图
系统提供 serialTest 程序可以对串口进行数据收发测试,该程序在运行时,需要提供一个 命令行参数:对于原生串口该参数既可以是需要打开的串口名,如:“COM2”、“COM3” 等;也可以是需要打开的设备名,如/dev/ttyS2、/det/ttyS3、/dev/ttyS4 等,该平台的 tty 命名 规则为 ttySCx,所以不能用 COMx 作为参数来测试串口,只能用/dev/ttySCx 作为参数。
流程如下:
- 打开串口(通讯参数为:波特率 9600,8 位数据位,1 位停止位,无数据校验位);
- 通过串口发送一个 20 字节的数据;
- 从串口接收数据;
- 重复步骤 2~3,实现数据的循环发送和接收
选择串口号,设置9600波特率,8位数据位,1位停止位,无数据校验位。勾选“HEX“ 显示,打开串口。
在开发板上运行测试程序。
root@g2liot:~# serialTest /dev/ttySC4 #####这里选择的是COM4
此时在sscom32可以看到有数据接收显示。
测试开发板数据接收是否正常可以通过sscom32发送数据。在 sscom32 上,输入需要发送的数据,如果数据是二进制字节数据(即非 ASCII 字符) 需勾选“HEX 发送”选项。设置完成后,点击“发送”按钮。
此时在开发板终端上可以显示接收到的数据,如下图所示。