设计要求程序设计程序解析程序烧录Q1 Arduino上无法识别Com口
如果手头没有开发板,可以使用 Wokwi 进行仿真。
Arduino
Arduino
C/C++语言编写的Arduino核心库
集合各种API应用程序接口
二次封装
更容易被理解
可读性
提高编程效率
例如:向
ESP32
的GPIO14
引脚输出高电平
1 2
pinMode(14,OUTPUT);//将GPIO14引脚设置为输出模式 digitalWrite(14,HIGH);//向GPIO14引脚输出高电平
Arduino程序结构
没有main()
函数
将main()
函数定义隐含在Arduino
核心库之中
基本结构有setup()
和loop()
函数
setup()
函数
用于硬件初始化设置
复位后,首先执行setup()
函数,而且只执行一次
setup()
函数
死循环函数,类似于while(1)
在setup()
函数执行完毕后开始执行
VSCode+PlatformlO开发环境
实训项目:PIO环境下基于Arduino的ESP32开发流程
设计要求
编写Arduino
程序,在蓝蜻蜓ESP32
物联网开发平台上,完成以下的功能:
在PlatformIO
环境中新建基于Arduino
的ESP32
工程项目。
清除多余的代码,保留Arduino程序基本框架,即setup()
和loop()
函数。
编写程序,控制GPIO14
引脚循环间隔输出高低电平,实现D3
灯的循环闪烁。
接上ESP32
开发板,编译程序,下载代码并运行。
程序设计
工程名称
开发板类型
编程框架
代码存放地址
引用自:使用下一代的嵌入式IDE-PlatformIO 教程 作者:jiladahe1997 于 2020-09-02 发布
Name: 项目名称
Board:硬件平台,Generic代表裸板,其他的可选择STM3210C-EVAL这样的官方开发板。对于官方开发板,有些是板上自带的st-link或者是针对arduino的开发板,如果选择了的话,会自动帮你选择对应的st-link或者arduino框架
Framework:编程框架。 例如STM32HAL库、标准库、ARM CMSIS库等。
Location:项目位置。
1 2 3 4 5 6 7 8 9 10 11 12
#include <Arduino.h> void setup() { pinMode(14,OUTPUT); } void loop() { digitalWrite(14,HIGH); delay(500); digitalWrite(14,LOW); delay(500); }
程序解析
Powered By Kimi https://kimi.moonshot.cn/chat/
您提供的代码是一个Arduino编程示例,用于控制连接到数字引脚14的LED灯或其他数字输出设备。以下是代码的中文解释:
#include <Arduino.h>
:这行代码包含了Arduino库,这个库提供了与硬件交互的函数和常量。
void setup()
:这是Arduino启动时首先执行的函数,用于初始化Arduino的输入输出引脚。
pinMode(14, OUTPUT);
:将数字引脚14设置为输出模式。pinMode
函数接受两个参数:引脚编号和模式(INPUT
输入或OUTPUT
输出)。
void loop()
:这是Arduino主循环函数,在setup()
函数执行完成后,会不断重复执行此函数内的代码。
digitalWrite(14, HIGH);
:将数字引脚14的状态设置为高电平,如果连接了LED,这将点亮它。
delay(500);
:暂停代码执行500毫秒(半秒)。这会在LED点亮和熄灭之间创建一个延迟。
digitalWrite(14, LOW);
:将数字引脚14的状态设置为低电平,这将关闭LED。
delay(500);
:再次暂停500毫秒,然后循环会重新开始,LED再次被点亮。
LED灯将以1秒的周期闪烁(亮半秒,灭半秒),因为loop()
函数会无限重复这个序列。如果您想改变闪烁速率,可以调整delay
函数中的数值。
程序烧录
build
编译
upload
编译+烧录(下载)
疑难解答
引用自:ESP32S3SuperMini 入门 无名科技
Q1 Arduino上无法识别Com口
进入下载模式:
方式1:按住BOOT上电。
方式2:按住ESP32S3的BOOT按键,然后按下RESET按键,松开RESET按键,再松开BOOT按键,此时ESP32S3会进入下载模式。(每次连接都需要重新进入下载模式,有时按一遍,端口不稳定会断开,可以通过端口识别声音来判断)