Arduino程序基础篇-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3743|回复: 0

Arduino程序基础篇

[复制链接]
发表于 2017-8-3 22:54 | 显示全部楼层 |阅读模式
初识Arduino
Arduino编译器使用的是GCC,这是GNU开源计划的核心,是使用最为广泛的编译器之一。Arduino语言衍生自Wiring语言,同时Arduino语言又是基于AVR-Libc这个AVR单片机扩展库编写的,Arduino集成开发环境是基于Processing的,Processing开发环境是JAVA编写的,JAVA是众所周知的开源项目。
基础
c语言是一种面向过程的编程语言,c++是一种 面对对象的编程语言。Arduino核心库采用c与c++混合编程。
通常所说的Arduino语言是指Arduino核心库文件提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。这些API是对更底层的单片机支持库进行二次封装所形成的。这些封装好的API使得程序中的语句更容易被理解,增强了程序可读性,也提高了开发效率。
eg:在Arduino中,将一个I/O口设置为输出高电平状态需要以下操作:
pinMode(13,OUTPUT); /*设定13脚为输出模式,pinMode是设置引脚的模式;
digitalWrite(13,HIGH); /*使13脚输出高电平,digitalWrite则是使输出高电平的数字信号;
Arduino程序结构:
其中没有main函数,main函数的定义隐藏在了Arduino的核心文件中。开发时直接操作setup()和loop()这两个函数。这两个函数组成了Arduino的基本结构
void setup()
{
//在此填写setup()函数代码,它只会运行一次,通常在此完成Arduino的初始化设置,如配置I/O口状态和初始化串口等操作;
}
void loop()
{
//在这里填写loop()函数代码,它会不断重复运行,通常在此完成程序的主要功能,比如驱动各种模块和采集数据等。
}
c/c++语言基础
一、数据类型
1、常量:在程序运行过程中,其值不能改变的量称为常量。可以是字符,也可以是数字。
定义时使用语句:
#define 常量名 常量值
如在Arduino核心库中已定义的常量PI,即是使用语句
#define PI 3.1415926535897932384626433832795
定义的。
2、变量:程序运行过程中可以改变的量。其定义方法是:
类型 变量名
eg:int i;
可以在定义变量的同时为其赋值;也可以在定义之后,在对其赋值。
int i=95;与int i;i=95;是等效的。
(1)整型变量(有int,unsigned int,long,unsigned long,short这几种类型)
类型取值范围说明
int-32768~32767()整型
unsigned int0~65535()无符号整型
long-2147483648~2147483647()长整型
unsigned long0~429467295()无符号长整型
short-32768~32767()短整型
(2)浮点型变量(实数)
在Arduino中有float和double两种浮点类型数据,
在使用AVR为控制核心的Arduino中,两者精度相同,均占用4字节(32位);在Arduino Due中,double类型占用8字节(64位)内存空间。
计算时常会把浮点型转化为整型来处理,eg:9.8cm
为98mm来算。
(3)字符型变量:即char型,其占用一个字节的存储空间,主要用于储存字符变量。在存储字符时,字符需要用单引号引用,如:
char col =’c’;
字符都是以数字形式存储在char类型变量中的,数字与字符的对应关系请参照ACSII码表。
(4)布尔型变量(即boolean型)
其值只有两个:false(假)和true(真),boolean类型会占用1字节的内存空间。
二、运算符(见下页表)
三、表达式
通过运算符将运算对象连接起来的式子称为表达式eg:5+3,a-b等;
四、数组(yuc语言相同,下面回顾)
定义方式:
数据类型 数组名称[数组元素个数]
eg: int a[10];
若要访问此数组的第五个元素,则为 a[4](注意:数组下标由0开始编号)
将数组a中第一个元素赋值为1的语句为:
a[0]=1;
或者也可以在数组定义时直接对数组进行赋值:
int a[10]={1,2,3,4,5,6,7,8,9};
运算符类型运算符说明
算术运算符=赋值
+
-
*
/
%取模
比较运算符==等于
!=不等于
<小于
>大于
<=小于或等于
>=大于或等于
逻辑运算符&&逻辑“与”运算
||逻辑“或”运算
!逻辑“非”运算
复合运算符++自加
--自减
+=复合加
-=复合减
五、字符串
定义方式有两种:
(1)直接以字符型数组方式定义;(使用方法与数组一致)
定义语句: char 字符串名称[字符个数]
(2)使用String类型定义。该类型提供了一些操作字符串的成员函数,使字符串使用起来更为灵活。
定义语句: String 字符串名称
eg: String abc;
可以再定义字符串时为其赋值,也可以在定义以后为其赋值。
String abc;abc=”Arduino”
String abc=”Arduino” 两者等价。
注意:相对于数字形式的定义方法,使用String类型定义字符串会占用更多的储存空间。
六、注释
为程序添加注释的方法有两种:
(1)单行注释,语句为:
//注释内容
(2)多行注释,语句为:
/*
注释内容1
注释内容2
......
*/
其中,(1)之后的内容(2)之间的内容均为程序注释,使用它们可以更好地管理代码。注释不会被编译到程序中,不影响程序的运行。


原文地址:http://www.toutiao.com/a6446624705021264142/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 01:46 , Processed in 0.068424 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表