前面我们介绍了8051的串行通讯,对串行通讯有了一定的了解,现在通过实现8051与ESP32CAM通信。
首先了解下esp32 cam的引脚图。
如上图,我们看到ESP32 CAM的串口0引脚分别为GPIO 3(RxD)、GPIO 1(TxD),而GPIO 16引脚只是串口2的一个接收引脚。但是ESP32 CAM 有三个串口(Serial、Serial1、Serial2),可以软件映射其TxD和RxD。
ESP32 测试代码
在Arduino IDE中我们使用下面代码测试ESP 32 CAM的串口,短接上板子上的GPIO 0和GPIO 16,给esp32 cam上电,打开Arduino IDE的串口监视器,就可以看到数据自发自收。
void setup() {
Serial.begin(9600);//用于电脑监控
Serial1.begin(9600,SERIAL_8N1, 0, 16);//用于 和8051通讯,0为RxD,16为TxD
}
unsigned char count = 0;
void loop() {
Serial1.println(count ++);//给8051发送数据
if(Serial1.available()>0){//接收8051发送的数据
Serial.print("from 8051: ");
Serial.println(Serial1.read());
}
delay(500);
}