6.0 利用 Arduino 库
Arduino 环境包含一套丰富的标准库,这些库抽象了底层细节,简化了从数学计算到字符操作等复杂任务。这些预构建的代码集合提供了经过测试且可重用的函数,从而显著加快了开发速度。本节将介绍一些最常用的用于处理时间、字符和数学运算的标准库。
6.1 时间函数
这些功能对于控制草图中操作的时机和顺序至关重要。
| 功能 | 描述 |
| 延迟(毫秒) | 暂停程序指定时间(以毫秒为单位)。 |
| 延迟微秒(微秒) | 以微秒为单位暂停程序指定的时间。 |
| 毫() | 返回自 Arduino 开发板开始运行当前程序以来经过的毫秒数。该数值在大约 50 天后会溢出(重置为零)。 |
| 微米() | 返回自 Arduino 开发板开始运行当前程序以来经过的微秒数。该数值在大约 70 分钟后会溢出。 |
6.2 字符函数 ()
字符处理库提供了一系列用于测试和操作字符数据的函数。这些函数在解析串行输入或其他基于文本的数据时特别有用。要使用它们,您必须包含该库。标题。
| 函数原型 | 描述 |
| int isdigit(int c) | 如果 c 是数字(0-9),则返回 true(非零)。 |
| int isalpha(int c) | 如果 c 是字母(az,AZ),则返回 true。 |
| int isalnum(int c) | 如果 c 是数字或字母,则返回 true。 |
| int isxdigit(int c) | 如果 c 是十六进制数字字符(0-9、af、AF),则返回 true。 |
| int islower(int c) | 如果 c 为小写字母,则返回 true。 |
| int isupper(int c) | 如果 c 为大写字母,则返回 true。 |
| int isspace(int c) | 如果 c 是空白字符(例如空格、制表符、换行符),则返回 true。 |
| int iscntrl(int c) | 如果 c 是控制字符(例如,换行符、制表符),则返回 true。 |
| int ispunct(int c) | 如果 c 是标点符号(不是空格、数字或字母),则返回 true。 |
| int isprint(int c) | 如果 c 是可打印字符(包括空格),则返回 true。 |
| int isgraph(int c) | 如果 c 是空格以外的打印字符,则返回 true。 |
6.3 数学库 ()
标准 C 数学库,通过以下方式包含:提供了一系列用于对浮点数执行数学运算的函数。
| 功能 | 描述 |
| acos(双 x) | 计算 x 的反余弦值。 |
| asin(双 x) | 计算 x 的反正弦值。 |
| atan(双 x) | 计算 x 的反正切值。 |
| cos(双 x) | 返回 x 的余弦值。 |
| 罪(双x) | 返回 x 的正弦值。 |
| tan(双x) | 返回 x 的正切值。 |
| exp(双 x) | 返回 x 的指数值 (e^x)。 |
| fabs(双 x) | 计算浮点数 x 的绝对值。 |
| fmod(double x, double y) | 返回 x / y 的浮点余数。 |
| log(双 x) | 返回 x 的自然对数。 |
| pow(double x, double y) | 返回 x 的 y 次方的值。 |
| sqrt(双 x) | 返回 x 的非负平方根。 |
| 平方(双 x) | 返回 x * x。(注意:这是 Arduino 特有的附加功能)。 |
三角函数(sin、cos、tan 等)要求输入参数为弧度,而不是角度。
虽然库提供了预构建的解决方案,但构建更复杂的应用程序通常需要掌握高级编程技术,例如使用中断处理外部事件。