← 返回首页

第二课:简单代码编写与功能实现

第二课:简单代码编写与功能实现

在单片机里基本上是用C++控制

1. // 单行注释
2. /*多行注释
再来一行
*/
3. ;代表一段话结束 (跟matlab差不多)
4. void function (variable) {
content
}
5.

variable(变量)

存储在单片机的内存中,有不同的类型(整数integer、浮点数float number、字符串string等)示例如下:

int CurrentTemperature ;

错误示例:

  1. ?# $等特殊符号不能出现在变量名中(如Temp#);
  2. 变量名中间不能有空格(如Current Temperature);
  3. 首字符为数字(如1_Temp);
  4. 已经被当作函数关键字或者变量类型的特定用语不行;

变量起名建议:

  1. 失去记忆或者陌生人打开代码也能大概猜出变量功能;
  2. 善用大写字母或者下划线分割不同单词;

给变量赋初始值:

int CurrentTemperature = 18 ;

程序中给变量赋新值:

CurrentTemperature = NewValue ;

变量数据类型:

数据类型(代号) 占用字节 数值范围
boolean(bool) 1 非0即True
char/char16_t/char32_t 1 常被用于储存ASCII字符 \(-128 \sim 127\)
int/unsigned int 2 前者包含负数\(-32768 \sim 32767\) 后者不含 \(0 \sim 65535\)
long 4 -2,147,483,648到2,147,483,647。
string 1 与char同类但用途更广
(double)float 4 -3.4028235E+38~3.4028235E+38

超过上下限后数据会溢出,根据存储的10010100位移轮回到数据范围的另一端。

局部变量与全局变量:

当变量首次不是在文件的一开始定义而是在某个函数内定义的时候,它只能在当前函数内被定义后的部分调用,即使其他函数内的变量与之重名也不影响,是完全独立的两个变量。如果全局变量与局部变量重名,在定义该变量的函数内,局部变量的优先级高于全局变量。

函数(function)

示例—小灯泡闪烁

在顶部菜单栏中依次打开文件—示例—01.Basic—Blink文件,先观赏注释文字带给我们的信息(阅读产品说明书),再阅读正文功能实现部分。

初始化和循环工作函数

void setup(){
xxxxxxx
}

作为开始工作性任务前的初始化函数。一般给板子上电或按reset按钮后执行一次。

void loop(){
xxxxxxx
}

工作函数,一直反复循环运行。

调用功能函数

好心的Arduino开源软件卖硬件,为用户们写好了美丽的预制函数方便调用,点击标题的超链接可以跳转到详细介绍界面,以下是点灯泡用到的几个功能函数。

pinMode(LED_BUILTIN, OUTPUT);
// LED_BUILTIN是每个板子默认的功能指示灯,这条初始化函数用于激活该输出
digitalWrite(LED_BUILTIN, HIGH);
// 将该端口的输出设置为高电平,低电平则把HIGH→LOW
delay(1000);
int delaytime = 3000;
delay(delaytime);
//等待1000ms

用的时候一定要注意填入函数的变量要和预设要求的变量在类型、数量上保持一致,否则会编译不通过。

函数的返回值

return 0;

变量与函数的联合操作

递增

int delaytime = 3000;
void loop(){
delaytime = delaytime + 1000;
}

移位

👁️ 35 阅读 📝 最后修改于 2026-09-27

💬 评论 (0)