Part3 Arduino基本函数
来源:互联网 发布:民生银行网络面试 编辑:程序博客网 时间:2024/06/07 15:35
3.1 数字I/O口
<1>pinMode(pin,mode)
数字IO口输入输出模式定义函数,pin表示为0~13,mode表示INPUT或OUTPUT。
例 :
pinMode(13,IOUTPUT);// 将脚位13设定为输出模式
<2>digitalWrite(pin,value)
数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。必须先定义为输入或输出模式digitalWrite才能生效。
例 :
digitalWrite(8,HIGH);//将脚位 8设定输出高电位
<3>digitalRead(pin)
数字IO口读输入电平函数,pin表示为0~13,该函数返回值为int型表示引脚的电压情况。当检测到引脚为高电平表示为HIGH或者低电平表示为LOW。
例:
val= digitalRead(7); // 读出引脚7的值回传给 val
3.2 模拟I/O口
<1>analogReference()
analogReference()函数的作用是配置模拟引脚的参考电压。在嵌入式应用中引脚获取模拟电压值之后,将根据参考电压将模拟值转换到0~1023。该函数为无返回值函数,参数为type类型,有3种类型(DEFAULT/INTERNAL/EXTERNAL),具体含义如下:
DEFAULT:默认值,参考电压为5V。
INTERNAL:低电压模式,使用片内基准电压源。
EXTERNAL:扩展模式,通过AREF引脚获取参考电压
<2>analogRead(pin)
模拟IO口读函数,读出类引脚位的电压并回传一个0到1023 的数值表示相对应的0到5的电压值。
例 :
val= analogRead(0); //读出类模拟引脚位 0的值并回传给 val
<3>analogWrite(pin,value)
数字IO口PWM输出函数,Arduino数字IO口标注了~符号的IO口可使用该函数,pin一般表示3, 5, 6, 9, 10, 11,value范围在0~255的区间,对应PWM的占空比为0%〜100%。
PWM英文写法是“Pulse-width modulation”,也翻译成“脉冲宽度调制”。PWM是一块非常重要的学习内容在后面的章节会展开详细讲解。
3.3时间函数
<1>millis()
返回时间函数(单位ms),回传程序开始执行到目前的毫秒,函数返回值为unsigned long型,无参数。大约需要50天的时间溢出,溢出后从零开始计时。
例
time=millis();//将程序当前的运行时间回传给time
<2>micros()
类似返回时间函数,单位为微秒(μs),大约需要70分钟溢出。
<3>delay(ms)
延时函数(单位ms)。暂停程序运行一段时间。
<4>delayMicroseconds(us)
延时函数(单位us)。功能类似delay(ms).
例:
delay(500);//暂停半秒(500毫秒)
3.7串口通信
这里编者只是介绍有关Arduino串口通信相关函数的使用方法,方便读者的查阅。在后面的章节会结合实例介绍串口通信的使用方法。
(1) Serial.begin(intspeed)
初始化串口比特率函数,直接输入相应的数值就把串口通信的寄存器设置为对应的比特率了,一般常用的有4800、9600、14400等。具体使用时,由所选择的器件决定,如使用蓝牙模块HC-06是串口波特率应设为9600.
(2) Serial.available()
串口输入数据读取前的判断函数,返回值为1时串口buff中有数据,返回值为0时串口buff中无数据或者数据已经读取出来过。经常if(Serial.available())来询问监视串口。
(3) Serial.read()
从串口buff中读取数据进来.比如information=Serial.read();则buff中的数据会赋值给information变量。
(4) Serial.flush()
清空串口buff中的数据。
(5) Serial.print(data)
把data从串口发送出去
需要注意的是串口的数据发送方式有多种,下面是常用的几种。
(1) Serial.print(data)
Serial.print(data)会把data以字符串的ASCII码发送出去。如Serial.print(79),,那么串口发送出去的就是字符串79的ASCII码。
(2) Serial.print(data,DEC)
这样发送的是data的10进制字符串。如int data=79;Serial.print(data,DEC);则串口发出去的是string"79"。
(3) Serial.print(data,HEX)
这样发送的是data的16进制字符串。如 intdata=79;Serial.print(data,HEX);那串口发出去的就是string"4F"。
(4) Serial.print(data,OCT)
这里是将数据data以8进制字符串的形式发送出去。如 intdata=79;Serial.print(data,OCT); 那串口发出去的就是string"117"。
(5) Serial.print(data,BIN)
将data以二进制字符串的形式发出去,如 int data=79;Serial.print(data,BIN);那串口发出去的就是string"1001111"。
(6) Serial.print(data,BYTE)
这样是把data作为ASCII码对应的字符后发送。如 int data = 79;Serial.print(data,BYTE); 那串口发出去的就是string"O"
(7) Serial.println(data)
功能类似上面的发送函数,也是把数据发送出去,不同的是发送的数据后面带上换行符号。
3.8中断函数
这里编者只是介绍有关Arduino中断相关函数的使用方法,方便读者查阅,在后面的章节会结合实例介绍中断的使用方法。
外部中断函数:
<1>attachInterrupt(interrupt,function,mode)
interrupt:中断引脚数
function:中断发生时调用的函数,此函数必须不带参数和不返回任何值。该函数有时被称为中断服务程序。
mode:定义何时发生中断以下四个contstants预定有效值:
LOW 当引脚为低电平时,触发中断
CHANGE 当引脚电平发生改变时,触发中断
RISING 当引脚由低电平变为高电平时,触发中断
FALLING 当引脚由高电平变为低电平时,触发中断.
当发生外部中断时,调用一个指定函数。当中断发生时,该函数会取代正在执行的程序。大多数的Arduino板有两个外部中断:0(数字引脚2)和1(数字引脚3)。arduino Mega有四个外部中断:数字2(引脚21),3(20针),4(引脚19),5(引脚18)。
注意事项
当中断函数发生时,delay()和millis()的数值将不会继续变化。当中断发生时,串口收到的数据可能会丢失。你应该声明一个变量来在未发生中断时储存变量
<2>detachInterrupt(interrupt)
中断开关,interrupt=1 开,interrupt=0 关。
中断使能函数:
<1>interrupts() 使能中断
<2>noInterrupts() 禁止中断
- Part3 Arduino基本函数
- part3
- PART3
- Arduino 基本语法
- Arduino程序基本结构
- Arduino 基本设置 + timer
- Drupal7模組介紹-Views-part3(基本设定)
- Arduino基础函数小结
- arduino字符串函数
- Arduino 滤波函数
- Arduino入门函数笔记
- 第七章 函数(part3) return 语句 & 函数声明
- arduino的一些初级函数
- Arduino基础学习-tone函数
- 面向对象的程序设计-6-虚函数-part3
- Arduino Wire.h 库函数基本操作 IIC
- 关于Arduino Mega2560的最基本介绍
- 关于Arduino Mega2560的最基本介绍
- BZOJ3680 吊打XXX(模拟退火算法)
- 6.5android 自定义相机,以及部分手机系统相机的bug
- Linux 程序开发打印 Debug 信息的使用技巧
- 一个平庸程序员的自白
- GitHub如何征服了Google、微软及一切
- Part3 Arduino基本函数
- BZOJ2428 [HAOI2006]均分数据(模拟退火算法)
- x调度器源码分析 - 新进程加入(三)
- centos直接yum安装nginx
- Codeforces 550D Regular Bridge (构造)
- Monthly Expense(二分)
- SpringMVC 之@ModelAttribute
- Linux跟系统任务有关的几个命令
- github优秀开源项目大全-iOS