Arduino 串行:Arduino 串行通信
Arduino 串行:Arduino 串行通信
串行通信的背景:
当微控制器或微处理器需要与外部世界通信时,它们以 8 位数据包的形式提供数据,因此如果一个系统需要与另一个系统通信,则使用总共 8 线电缆,并不总是实用的解决方案,因为信号在远距离传输时会失真。它也很昂贵,因为8线捆绑的成本很高。这个协议被命名为并行通信,在这之后新协议的需求被唤醒,然后设计者引入了一个新的协议,被命名为串行协议,它只使用了3线传输8行的所有数据。另请阅读:Arduino 编程:什么是 Arduino 以及如何对其进行编程?串行协议:
在串行协议中,8 位数据由并行输入串行输出移位寄存器转换为串行位流。在接收端,通过串行输入并行输出移位寄存器将其转换为并行 8 位数据。串行数据通信使用同步和异步两种方法。同步方法传输数据块,而异步传输逐字节。主要是串行通信中使用的异步操作模式。串行通信分为三种通信系统
- 单工(仅传输数据)
- 半双工(可以传输或接收数据,但不能同时)
- 全双工(可以同时发送和接收数据)
编程 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串口编程示例:
运行此程序并更改它以供您理解和练习。保持联系以获取更多即将发布的教程。
您可能还会阅读:
- 如何对 PIC18 单片机进行编程。分步教程。
- MAX232:构造、操作、类型和应用。
- 为电气/电子工程师在线提供 10 多种设计和仿真工具。
- 电气和电子工程师和学生必备的 15 款 Android 应用。
- 使用 555 定时器的拍子开关电路电子项目。
- 如何找到烧坏电阻的值(通过三种方便的方法)。
工业技术