云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > arduino从零开始学 - 图文

arduino从零开始学 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 0:04:16

开始Arduino之旅 第2章 非

非运算 A假 真 A真 假 如表2-2所示的真值表中,对于与运算,仅当A和B均为真时,运算结果为真,否则,运算结果为假;对于或运算,仅当A和B均为假时,运算结果为假,否则,运算结果为真。对于非运算,当A为真时,运算结果为假;当A为假时,运算结果为真。

2.字符型

字符型(char)变量可以用来存放字符,其数值范围是-128~+128。例如:

char A=58;

3.字节型

字节(byte)只能用一个字节(8位)的存储空间,它可以用来存储0~255之间的数字。例如:

byte B=8;

4.整型

整型(int)用两个字节表示一个存储空间,它可以用来存储-32768~+32767之间的数字。在Arduino中,整型是最常用的变量类型。例如:

int C=13;

5.无符号整型

同整型一样,无符号整型(unsigned int)也用两个字节表示一个存储空间,它可以用来存储0~65536之间的数字,通过范围可以看出,无符号整型不能存储负数。例如:

unsigned int D=65535;

6.长整型

长整型(long)可以用4个字节表示一个存储空间,其大小是int型的2倍。它可以用来存储-2147483648~2147483648 之间的数字。例如:

long E=2147483647;

7.无符号长整型

无符号长整型(unsigned long)同长整型一样,用4个字节表示一个存储空间,它可以用来存储0~4294967296之间的数字。例如:

unsigned long F=4294967295;

8.浮点型

浮点数(float)可以用来表示含有小数点的数,例如:1.24。当需要用变量表示小数时,浮点

·29· Arduino开发从零开始学 数便是所需要的数据类型。浮点数占有4个字节的内存,其存储空间很大,能够存储带小数的数字。例如:

a = b / 3;

当b = 9时,显然a = 3,为整型。

当b = 10时,正确结果应为3.3333,可是由于a是整型,计算出来的结果将会变为3,这与实际结果不符。

但是,如果方程为:float a = b / 3.0。 当b = 9时,a = 3.0。

当b = 10时,a = 3.3333,结果正确。

如果在常数后面加上“.0”,编译器会把该常数当做浮点数而不是整数来处理。

9.双精度浮点型

双精度浮点型(double)同float类似,它通常占有8个字节的内存,但是,双精度浮点型数据比浮点型数据的精度高,而且范围广。但是,双精度浮点型数据和浮点型数据在Arduino中是一样的。

2.5.2 数据类型转换

在编写程序过程中需要用到一些有关数据类型转换的函数,这里介绍几个常见的数据类型转换函数。

(1)char()

功能:将一个变量的类型变为char。 语法:char(x)

参数:x:任何类型的值 返回值:char型值 (2)byte()

功能:将一个值转换为字节型数值。 语法:byte(x)

参数:x:任何类型的值 返回值:字节 (3)int()

功能:将一个值转换为整型数值。 语法:int(x)

参数:x:任何类型的值 返回值:整型的值 (4)long()

·30· 开始Arduino之旅 第2章 功能:将一个值转换为长整型数值。 语法:long(x)

参数:x:任何类型的值 返回值:长整型的值 (5)float()

功能:将一个值转换换浮点型数值。 语法:float(x)

参数:x:任何类型的值 返回值:浮点型的值 (6)word()

功能:把一个值转换为word数据类型的值,或由两个字节创建一个字符。 语法:word(x)或word(H,L)

参数:x:任何类型的值,H:高阶字节(左边),L:低阶字节(右边) 返回值:字符

2.5.3 自定义数据类型

在Arduino中可以根据自己的需要定义结构类型的数据,其方法和C语言是一致的。

struct 名称 { 成员列表; };

例如:

struct Student { char[20] name; int number; char[2] sex; int score; };

2.6 Arduino语法——数组

数组是一种可访问的变量的集合。Arduino的数组是基于C语言的,实现起来虽然有些复杂,但使用却很简单。

2.6.1 创建或声明一个数组

数组的声明和创建与变量一致,下面是一些创建数组的例子。

·31· Arduino开发从零开始学 arrayInts [6];

arrayNums [] = {2,4,6,8,11}; arrayVals [6] = {2,4,-8,3,5}; char arrayString[7] = \

由例子中可以看出,Arduino数组的创建可以指定初始值,如果没有指定,那么编译器默认为0,同时,数组的大小可以不指定,编译器在监察时会计算元素的个数来指定数组的大小。在arrayString中,字符个数正好等于数组大小。

在声明时元素的个数不能够超过数组的大小,即小于或等于数组的大小。

2.6.2 指定或访问数组

在创建完数组之后,可以指定数组的某个元素的值。

int intArray[3]; intArray[2]=2;

数组是从零开始索引的,也就说,数组初始化之后,数组第一个元素的索引为0,如上例所示,arrayString[0]为“A”即数组的第一个元素是0号索引,并以此类推。这也意味着,在包含10个元素的数组中,索引9是最后一个元素。因此,在下个例子中:

int intArray[10] = {1,2,3,4,5,6,7,8,9,10}; //intArray[9]的数值为10

// intArray[10],该索引是无效的,它将会是任意的随机信息(内存地址)

出于这个原因,在访问数组时应该注意。如果访问的数据超出数组的末尾—如访问intArray[10],则将从其他内存中读取数据。从这些地方读取的数据,除了产生无效的数据外,没有任何作用。向随机存储器中写入数据绝对是一个坏主意,通常会导致一些意外的结果,如导致系统崩溃或程序故障。顺便说一句,不同于Basic或Java,C语言编译器不会检查访问的数组是否大于声明的数组。

【示例3】 串口打印数组

数组创建之后在使用时,往往在for循环中进行操作,循环计数器可用于访问数组中的每个元素。例如,将数组中的元素通过串口打印,程序可以这样写。

程序2-6:串口打印数组

void setup() {

// put your setup code here, to run once:

int intArray[10] = {1,2,3,4,5,6,7,8,9,10}; //定义长度为10的数组 int i;

for (i = 0; i < 10; i = i + 1) //循环遍历数组 { ·32·

搜索更多关于: arduino从零开始学 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

开始Arduino之旅 第2章 非 非运算 A假 真 A真 假 如表2-2所示的真值表中,对于与运算,仅当A和B均为真时,运算结果为真,否则,运算结果为假;对于或运算,仅当A和B均为假时,运算结果为假,否则,运算结果为真。对于非运算,当A为真时,运算结果为假;当A为假时,运算结果为真。 2.字符型 字符型(char)变量可以用来存放字符,其数值范围是-128~+128。例如: char A=58; 3.字节型 字节(byte)只能用一个字节(8位)的存储空间,它可以用来存储0~255之间的数字。例如: byte B=8; 4.整型 整型(int)用两个字节表示一个存储空间,它可以用来存储-32768~+32767之间的数字。在Arduino中,整型是最常用

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com