LightGunDiyer 光枪爱好者
编程入门教程(arduino-esp32c3)- 代码结构 - 可打印的版本

+- LightGunDiyer 光枪爱好者 (http://www.wukongxuetang.com/bbs)
+-- 版块: 光枪原理与光枪DIY (http://www.wukongxuetang.com/bbs/forumdisplay.php?fid=1)
+--- 版块: 光枪-单片机编程 (http://www.wukongxuetang.com/bbs/forumdisplay.php?fid=3)
+--- 主题: 编程入门教程(arduino-esp32c3)- 代码结构 (/showthread.php?tid=20)



编程入门教程(arduino-esp32c3)- 代码结构 - wukong - 03-23-2024

arduion ide选择文件菜单 ,点击新建

默认代码如下:
void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

从英文字面意思不难理解,此处有两个函数
一个是setup,也就是设置,注释put your setup code here,to run once;
也就是我们让单片机听话之前,此处要告诉他一些指令,这些指令告诉他一次就行,单片机在运行代码的时候,此处的代码只运行一遍。

一个是loop,也就是循环,注释put Your main code here,to run repeatedly;
也就是单片机在完成setup之后,进入此循环,一种循环执行里面的代码,从第一句开始,到最后一句结束,中间如果有if和for,while之类的判断
、循环体等,就按你设置的逻辑进行。
然后不断重复。

实际上为了让单片机实现我们的一些设定,还要给单片机指定一些变量,包括局部变量和全局变量。这个都是编程的基础概念,此处不做延申。
另外就是为了简便编程,可能还要引入一些外部的库文件等。

然后基础补充后的代码结构大概如下:

//引入第三方的外部库文件
#include <wukongM700.h>
//指定局部变量,这个变量在代码任意一个地方都可以修改
//比如此处先初始化光枪的id编号为1,后续多光枪组网中,可以更改成2或者3
uint8_t gunId = 1;
//此处指定一个灯光引脚,用来点亮或者关闭,来标识状态
uint8_t ledPin = 3;

void setup() {
  // put your setup code here, to run once:
  //设置串口的波特率,这个很明显开始设置一次就ok了。
  Serial.begin(115200);
  //此处设置小灯连接的那个引脚为供电输出端,这个地方也是指定一次就可以了
  pinMode(ledPin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  //此处就要输入一些我们要不停执行的动作,比如不断查询串口有没有收到外部的指令

  //不断读取光枪识别的光点坐标

  //不断获取光枪上一些功能键有没有被按下  

  //以上动作都是在loop不断执行的
}