ESP32-C3开发之旅 基础篇 ③ VSCode第一个程序 HelloWorld

一、新建HelloWorld项目

  1. 打开VScode 文件 新建文件 :HelloWorld.ino
  2. 敲入代码
void setup() {
  //这里开始写初始化代码,只会执行一次
  // 初始化数字引脚5作为输出。
  pinMode(5, OUTPUT);
}

//这里写运行代码,重复执行
void loop() {
  digitalWrite(5, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(5, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

选择开发板:点击下方 select board Type 在搜索框输入ESP32C3
在这里插入图片描述
结果如图
在这里插入图片描述
下载第一个程序
使用USB线连接电脑与开发板,开发板的驱动CH340需要在电脑上安装驱动
https://www.onlinedown.net/soft/1164748.htm

在这里插入图片描述
烧录程序,不出意外的话,开发板 三色灯,就会蓝色闪烁了。
在这里插入图片描述

二、计时和延时(Timing and delays)

时间控制,基本上可以说存在于每一个项目代码中。目前在Arduino中跟时间控制有关的方法包括以下几个:
    delay(ms)
    暂停一个给定的毫秒数的时间间隔。
    delayMicroseconds(us)
    暂停一个给定的微秒数的时间间隔。
    millis()
    返回重启(reset)后所经过的毫秒数。
    micros()
    返回重启(reset)后所经过的微秒数
温馨提示
    通常,我们控制LED灯闪烁都会加上一个delay延时来达到切换亮灭时间长度。
    delay缺点:在给定的时间间隔内是不能做其他操作。那么有没有什么办法既能延时又能不影响其他操作呢?当然,这就是millis()的妙用,通过获取两个时间点的毫秒数,然后计算它们的差值,差值时间间隔内是可以执行其他操作的。代码片段如下:

long debouncdDelay = 60;//延时间隔
long lastDebounceTime = 0; //最近记录的一次时间

// 判断时间间隔是否大于设定的时间间隔。
if(millis()-lastDebounceTime>debouncdDelay){
    lastDebounceTime = millis();
}

三、开发板IO

ESP-C3-32S-Kit 开发板模组共接出 30 个接口,如管脚示意图,管脚功能定义表是接口定义表
在这里插入图片描述
IO脚
开发规格书下载:https://docs.ai-thinker.com/esp32c3

https://docs.ai-thinker.com/media/esp32/docs/esp-c3-32s-kit-v1.0%E8%A7%84%E6%A0%BC%E4%B9%A6.pdf

ESP32-C3 SDK中默认的管脚

C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\variants\esp32c3\pins_arduino.h
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#define EXTERNAL_NUM_INTERRUPTS 22
#define NUM_DIGITAL_PINS        22
#define NUM_ANALOG_INPUTS       6

#define analogInputToDigitalPin(p)  (((p)<NUM_ANALOG_INPUTS)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p)    (((p)<NUM_DIGITAL_PINS)?(p):-1)
#define digitalPinHasPWM(p)         (p < EXTERNAL_NUM_INTERRUPTS)

static const uint8_t TX = 21;
static const uint8_t RX = 20;

static const uint8_t SDA = 8;
static const uint8_t SCL = 9;

static const uint8_t SS    = 7;
static const uint8_t MOSI  = 6;
static const uint8_t MISO  = 5;
static const uint8_t SCK   = 4;

static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;
#endif 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值