第二课:简单代码编写与功能实现
在单片机里基本上是用C++控制
1. // 单行注释
2. /*多行注释
再来一行
*/
3. ;代表一段话结束 (跟matlab差不多)
4. void function (variable) {
content
}
5.
variable(变量)
存储在单片机的内存中,有不同的类型(整数integer、浮点数float number、字符串string等)示例如下:
int CurrentTemperature ;
错误示例:
- ?# $等特殊符号不能出现在变量名中(如Temp#);
- 变量名中间不能有空格(如Current Temperature);
- 首字符为数字(如1_Temp);
- 已经被当作函数关键字或者变量类型的特定用语不行;
变量起名建议:
- 失去记忆或者陌生人打开代码也能大概猜出变量功能;
- 善用大写字母或者下划线分割不同单词;
给变量赋初始值:
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;
}
💬 评论 (0)