合宙 EPS32-C3 把玩记录(一):环境搭建与第一个程序

为了贯彻本博客最重要的关键词:性价比,Lao_Liu 看到性价如此高的开发板,想都没想就剁手了。

嘛其实也没有这么冲动,我在购买 3D 打印机之后就一直在计划着做一些网上现成的电子项目,但碍于这段时间 MCU 和大尺寸屏幕价格的飙升,一直没能开始动手。

正好最近我学习了 iPad 上的 3D 建模软件 Sharp3D,项目的外壳建模变得有可能;又遇到了这块便宜的板子,立即开工!

因为1.8寸的 TFT 显示屏还没到货,3D 建模就先放一边,先来研究一下这块开发板。

事先声明

本教程是我一边从零开始学习嵌入式开发一边作成的,有逻辑混乱、内容浅显和成吨的错误,还请已经熟悉嵌入式开发的大佬多多包涵与斧正)

问题:什么?开发环境不是按语言分的嘛?

在开始学习嵌入式开发之前,我简单地认为嵌入式开发因语言而已,分为用 C/Cpp 开发(Arduino)和用 Python 开发(MicroPython)。

直到我遇见了 ESP-IDF 这个东西。

啥啊,为啥这家伙用的也是 C,代码我还一点都看不懂。

解答

嵌入式开发选用的语言和语法因选择的框架而异。

ESP-EDF 更靠近底层,因而编写更复杂;Arduino 对底层进行封装,更靠上层且对用户更友好;MicroPython 则是在开发板上还原了一个 Python 的开发环境,继承了 Python 的诸多优点(简单的语法、无需编译就能执行新代码等)。

此外,还能用 JS、Java、Lua 等等语言进行开发。

Lao_Liu 的选择

我手上有两块板子,一块被我刷成了 MicroPython,但目前不打算去用它。

我打算用 Arduino + C 进行开发。

配置 VSCode + Arduino 开发环境

Arduino 没有代码补全,太难用。简述一下如何使用 VSCode 进行开发:

  • VSC 安装 Arduino 插件;
  • 在 首选项-设置 中配置 Arduino 的路径 Arduino.path
  • 打开项目后选择 MCU 类型和串口

就能用啦。

第一个项目

第一个项目就不选输出 Hello World 了,一点硬件的感觉都没有。

官方文档 ,主板板载的两个 LED 灯对应的 GPIO 为 IO12 IO13,高电平有效。

就此编写一个无稳态多协振荡电路让 LED 灯交替闪烁的程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void setup()                 //初始化函数,只会在开发板上电或复位时被调用一次
{
pinMode(12, OUTPUT); //初始化 IO12 为输出口
pinMode(13, OUTPUT); //初始化 IO13 为输出口
digitalWrite(12, LOW); //初始化设为低电平,则灯灭
digitalWrite(13, LOW); //初始化设为低电平,则灯灭
}

void loop() //上电之后一直循环执行的函数
{ digitalWrite(12, HIGH); //亮左灯
digitalWrite(13, LOW); //关右灯
delay(1000); //等待1秒
digitalWrite(12, LOW); //关左灯
digitalWrite(13, HIGH); //亮右灯
delay(1000); //等待1秒
}

编译+上传即可。

结果就不展示了,两个灯在交替闪烁。


合宙 EPS32-C3 把玩记录(一):环境搭建与第一个程序
https://blog.laoliu.eu.org/archives/7f7bd4a5.html
作者
Lao_Liu
发布于
2022年3月26日
许可协议