两个Arduino通过TWI总线通信,要求从机向主机发送数据,主机接收到数据后,再通过异步串口输出到PC机进行显示,设计连线图和程序
时间: 2024-02-24 09:58:19 浏览: 17
连线图:
```
Master Arduino Slave Arduino
--------------- ------------------
| | | |
| |<--------------| SDA |
| | | |
| |<--------------| SCL |
| | | |
--------------- ------------------
```
程序:
主机 Arduino 代码:
```C++
#include <Wire.h>
void setup() {
Serial.begin(9600); // 初始化串口通信
Wire.begin(); // 初始化 TWI 总线
}
void loop() {
Wire.requestFrom(8, 1); // 从从机地址 8 请求 1 字节数据
while (Wire.available()) {
char c = Wire.read(); // 读取数据
Serial.print(c); // 输出到串口
}
}
```
从机 Arduino 代码:
```C++
#include <Wire.h>
void setup() {
Wire.begin(8); // 从机地址为 8
}
void loop() {
Wire.beginTransmission(8); // 向主机地址 8 发送数据
Wire.write(42); // 发送数据
Wire.endTransmission(); // 结束传输
delay(1000); // 等待 1 秒
}
```
这个程序的作用是:从机向主机发送一个字节的数据(42),主机接收到数据后通过串口输出。程序中,主机的 TWI 地址为 0,从机的 TWI 地址为 8。主机通过 `Wire.requestFrom(8, 1)` 向从机发送请求,从机通过 `Wire.write(42)` 向主机发送数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)