ESP32(6):串口通信

一、ESP32Cam引脚图

二、ArduinoIDE程序编写

public.h

#ifndef _public_H
#define _public_H

#include "Arduino.h"

//类型重定义
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;

#endif

main.c

#include "public.h"
String serialData;


void setup() {
  //串口0配置
  Serial.begin(115200);
  //串口2配置
  //void HardwareSerial.begin(unsigned long baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1, bool invert=false, unsigned long timeout_ms = 20000UL);
  //baud:串口波特率,该值写0则会进入自动侦测波特率程序;
  //config:串口参数,默认SERIAL_8N1为8位数据位、无校验、1位停止位;
  //rxPin:接收管脚针脚号;
  //txPin:发送管脚针脚号;
  //invert:翻转逻辑电平,串口默认高电平为1、低电平为0;
  //timeout_ms:自动侦测波特率超时时间,如果超过该时间还未获得波特率就不会使能串口;
  //mySerial2.begin(115200,SERIAL_8N1,16,17);
  
}

void loop() {
  if(Serial.available())  //当串口0接收到信息后
  {
    Serial.println("Serial Data Available..."); // 通过串口监视器通知用户
    serialData=Serial.readString();  // 将接收到的信息使用readString()存储于serialData变量
    Serial.print("Received Serial Data: ");     // 然后通过串口监视器输出serialData变量内容
    Serial.println(serialData);                 // 以便查看serialData变量的信息
  }
  Serial.println("hello world\r\n");
  delay(1000);
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ESP32CAM板载了两个UART串口,分别为UART0和UART1。其中UART0用于ESP32与电脑进行通讯,而UART1则可用于与外部设备进行串口通讯。 以下是使用Arduino IDE的ESP32开发板进行UART1串口的使用示例: 1. 在Arduino IDE中打开一个新的Sketch。 2. 在Sketch中添加以下代码: ```c++ void setup() { Serial.begin(115200); Serial1.begin(9600, SERIAL_8N1, 16, 17); // 初始化UART1,波特率9600,数据位8,无校验位,1位停止位,TX引脚为GPIO16,RX引脚为GPIO17 } void loop() { if (Serial1.available()) { Serial.write(Serial1.read()); // 从UART1读取数据并通过UART0发送到电脑 } if (Serial.available()) { Serial1.write(Serial.read()); // 从电脑接收数据并通过UART1发送到外部设备 } } ``` 3. 将ESP32CAM连接到电脑上并上传Sketch。 4. 打开串口监视器,设定波特率为115200,即可通过UART0与ESP32进行通讯。 5. 将外部设备连接到ESP32CAM板的UART1上,注意连接的引脚要与代码中的对应。 6. 通过外部设备向ESP32CAM发送数据,即可在串口监视器中看到ESP32CAM通过UART0将接收到的数据打印出来。同时,通过串口监视器向ESP32CAM发送数据,即可通过UART1将数据发送到外部设备。 注意事项: 1. 需要在初始化UART1时指定TX和RX引脚,否则无法正常工作。 2. 使用Serial1时需要注意,不能同时使用ESP32CAM板上的SD卡模块,因为它们共用了SPI总线。如果需要同时使用,需要手动设置SPI引脚,或者使用软件SPI。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值