634|1

107

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

FireBeetle 2 ESP32 C6开发板__例程代码分析和FireBeetle 2 ESP32 C6开发板 [复制链接]

 

1.例程分析 阅读 Bink 例程

1.1  新建打开Bink例程 如下图

 

1.2 例程代码分析

例程代码如下

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

这里有一个疑问:这个LED_BUILTIN是在哪里定义的呢?答案就在Pins_Arduino这个文件中。

 

 

通过右键跳转可以跳到Pins_Arduino这个文件中

 

       这是Arduino环境下esp32开发板的引脚定义文件,用于指定特定硬件板上的引脚映射和配置。此文件定义了一系列常量,这些常量代表连接到Arduino板或其他兼容板的物理引脚。

  1. 预处理:
#ifndef Pins_Arduino_h

#define Pins_Arduino_h

这使用了预处理器指令来避免头文件的重复包含,这是一个常见的编程技巧,确保头文件的内容只被包含一次。

  1. 内置LED和串行通信引脚:
static const uint8_t LED_BUILTIN = 15;
#define BUILTIN_LED  LED_BUILTIN
#define LED_BUILTIN LED_BUILTIN
static const uint8_t TX = 16;
static const uint8_t RX = 17;

这里定义了Arduino板上的内置LED的引脚号,Arduino UNO R3通常是数字13,FireBeetle 2 ESP32 C6在这里是15,以及串行通信的TX(发送)和RX(接收)引脚。

  1. IIC引脚:
static const uint8_t SDA = 19; 
static const uint8_t SCL = 20;
  1. SPI引脚:
static const uint8_t SS = 5; 
static const uint8_t MOSI = 22; 
static const uint8_t MISO = 21; 
static const uint8_t SCK = 23;

SPI(Serial Peripheral Interface)是一种同步串行数据协议,用于微控制器与其他设备之间的通信。这里定义了SPI通信所需的引脚。

  1. 模拟和数字引脚:
static const uint8_t A1 = 2;
// ... (其他模拟引脚)
static const uint8_t D2  = 8;
// ... (其他数字引脚)

这些常量定义了Arduino板上用于模拟输入和数字I/O的引脚号。

  1. 特定功能定义:
#ifdef  GDI_DISPLAY_FPC_INTERFACE
// ... (一系列与GDI显示相关的引脚定义)
#endif

         这部分代码检查是否定义了GDI_DISPLAY_FPC_INTERFACE宏。如果定义了,则它将定义FPC(Flexible Printed Circuit,柔性印刷电路)接口相关的引脚。

总的来说,这个头文件为特定兼容板提供了引脚映射,使得在编写代码时可以使用这些有意义的常量名称,而不是直接使用引脚号,从而提高了代码的可读性和可维护性。

 

2 FireBeetle 2 ESP32 C6的双闪灯

2.1实验目的

      控制2个LED交替闪烁,实验数字IO,和延时函数的应用

2.2LED原理图

 

 

 

 

2.3实验代码

#define LED_BLUE    SCK
#define LED_RED     MOSI
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BLUE, OUTPUT);
  pinMode(LED_RED, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BLUE, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(200);                      // wait for a second
  digitalWrite(LED_BLUE, LOW);   // turn the LED off by making the voltage LOW
  delay(200);                      // wait for a second
  digitalWrite(LED_RED, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(200);                      // wait for a second
  digitalWrite(LED_RED, LOW);   // turn the LED off by making the voltage LOW
  delay(200);                      // wait for a second
}

2.4实验现象

WeChat_20240427193903

 

 

 

最新回复

Arduino环境下玩这个esp32开发板确实好玩一些,开发环境不复杂   详情 回复 发表于 2024-4-30 07:34
点赞 关注
 
 

回复
举报

6856

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

Arduino环境下玩这个esp32开发板确实好玩一些,开发环境不复杂

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表