亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

Arduino 串行:Arduino 串行通信

Arduino 串行:Arduino 串行通信

串行通信的背景:

当微控制器或微处理器需要与外部世界通信时,它们以 8 位数据包的形式提供数据,因此如果一个系统需要与另一个系统通信,则使用总共 8 线电缆,并不总是实用的解决方案,因为信号在远距离传输时会失真。它也很昂贵,因为8线捆绑的成本很高。这个协议被命名为并行通信,在这之后新协议的需求被唤醒,然后设计者引入了一个新的协议,被命名为串行协议,它只使用了3线传输8行的所有数据。另请阅读:Arduino 编程:什么是 Arduino 以及如何对其进行编程?

串行协议:

在串行协议中,8 位数据由并行输入串行输出移位寄存器转换为串行位流。在接收端,通过串行输入并行输出移位寄存器将其转换为并行 8 位数据。串行数据通信使用同步和异步两种方法。同步方法传输数据块,而异步传输逐字节。主要是串行通信中使用的异步操作模式。

串行通信分为三种通信系统

  1. 单工(仅传输数据)
  2. 半双工(可以传输或接收数据,但不能同时)
  3. 全双工(可以同时发送和接收数据)
串行协议被称为 RS232 协议,其中一个字节的数据放在开始位和停止位之间,这个过程称为成帧。该标准最初是为标准 PC 和许多类型的设备设定的,比 TTL 逻辑发明早很多年。在 RS232 中,逻辑高由 -1 到 -25 的电压电平定义,而 0 由 +3 到 +25 伏表示,以使其与 TTL 逻辑兼容,使用电压转换器,为此目的最广泛使用的 IC 是 MAX232。 Arduino 具有使 TTL 和标准 PC 端口兼容的内置功能。

编程 Arduino 进行串行通信:

Arduino已经内置了使用Rs232协议的库,所以我们不需要编写整个协议并关心数据的可信度,因为RS232库会处理它。
看看最重要的功能用于 Rs232 通信。 Serial.begin(x)
注意:X是波特率,不同的设备对波特率的要求不同,大多使用9600作为波特率,它定义了数据发送或接收的速度。此函数来自 void Setup()。 Serial.available()
该函数检查是否可以接收串行数据,如果该函数的返回为0,则表示没有可获取的串行数据,如果返回1,则表示可获取的串行数据。 Serial.read()
此函数在发送数据时默认读取缓冲区中可用的数据,则其数据类型为char,读取时将读取其十进制值,例如发送1它将被读取为49,即char 1 的十进制等效值。Serial.println(x)
此函数打印 aurdinu IDE 串行窗口中 x 变量中可用的数据并将其发送到端口。 Serial.flush()
此函数将清除串行缓冲区中的所有垃圾值。

Arduino串口编程示例:

运行此程序并更改它以供您理解和练习。
保持联系以获取更多即将发布的教程。

您可能还会阅读:


工业技术

  1. MQTT 和 DDS:物联网中的机器对机器通信
  2. 工业物联网解决方案 | 6 工业物联网通信解决方案
  3. 数据流
  4. 光数据通信
  5. 网络协议
  6. 微处理器
  7. Arduino I2C 与 Raspi 2 WIOT 的通信
  8. 无线磁性数据传输
  9. 聋盲通信与 1Sheeld/Arduino
  10. 温湿度数据记录仪
  11. Arduino - 通过串口向 Web 发送温度
  12. Python3 和 Arduino 通信