简介

该Wiki为FireBeetle 2 ESP32-C6及Beetle ESP32-C6的基础教程
如需了解FireBeetle 2 ESP32-C6简介及硬件详情,点击此处
如需了解Beetle ESP32-C6简介及硬件详情,点击此处
如需了解FireBeetle 2 ESP32-C6及Beetle ESP32-C6的进阶教程,点击此处
如需了解Arduino基础,点击此处

电池电压测量

电压计算代码

void setup() {
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);

  //set the resolution to 12 bits (0-4096)
  analogReadResolution(12);
}

void loop() {
  // read the analog / millivolts value for pin 2:
  int analogValue = analogRead(0);
  int analogVolts = analogReadMilliVolts(0);

  // print out the values you read:
  Serial.print("ADC analog value = ");
  Serial.println(analogValue);
  Serial.print("ADC millivolts value = ");
  Serial.println(analogVolts);
  Serial.println("mV");
  // Please adjust the calculation coefficient according to the actual measurement.
  Serial.print("BAT millivolts value = ");
  Serial.print(analogVolts * 2.1218 + 1000);
  Serial.println("mV");
  Serial.println("--------------");
  delay(500);
}

PWM输出

ESP32的PWM功能需要提前定义声明

示例

ESP32的PWM由于其可以自由映射到其它端口进行输出,您需要进行几步设置,该案例将使用帮助您理解其中的步骤 该案例你可以看到LED灯逐渐变亮变暗

/*
 * LED呼吸灯示例
 */
const int ledPin = 21;  // PWM生成后实际输出引脚

//设置PWM参数
const int freq = 5000;//PWM频率
const int ledChannel = 0;//信号生成GPIO
const int resolution = 8;//8位分辨率

void setup(){
  //PWM参数设置
  ledcSetup(ledChannel, freq, resolution);

  //将生成信号通道绑定到输出通道上
  ledcAttachPin(ledPin, ledChannel);
}

void loop(){
  //逐渐变亮
  for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){   
    // changing the LED brightness with PWM
    ledcWrite(ledChannel, dutyCycle);
    delay(15);
  }

  //逐渐变暗
  for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){
    // changing the LED brightness with PWM
    ledcWrite(ledChannel, dutyCycle);   
    delay(15);
  }
}

中断

ESP32中断可自由分配

串口

ESP32串口初始化需要映射,可使用的串口有Serial、Serial1

Serial1.begin(9600,SERIAL_8N1,/*rx =*/0,/*Tx =*/1);  

舵机

ESP32不能通过Servo库驱动舵机,需要在项目->加载库->管理库中搜索安装ESP32_ISR_Servo库驱动舵机

SD库

SD类

File类

File类提供了读/写文件的功能,该类的功能与之前使用的串口相关函数的功能非常类似。其成员函数如下。

示例

示例请看File > Examples > SD > SD_Test

常见问题

烧录报错

原因

解决办法

串口无打印

解决办法

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

FireBeetle 2 ESP32-C6简介
Beetle ESP32-C6简介

FireBeetle 2 ESP32-C6及Beetle ESP32-C6进阶教程