Arduino学习笔记 -入门
Arduino是一款比较方便入门和使用的开发板,入手起来也比较简单。这里列出几种常用的函数用法。更多的函数用法可以参考http://wiki.arduino.cn/?file=home-%E9%A6%96%E9%A1%B5
1.入门语法
pinMode(端口号,OUTPUT/INPUT) 设置引脚输入输出模式
digitalWrite(端口号,HIGH/LOW) 设置引脚的输出电平
Arduino中的main函数的定义隐藏在了Arduino的核心库文件中。ArduinoD 开发不直接操作main函数
而是通过setup和loop函数来实现。
Arduino程序的基本架构为
setup()启动函数 ,Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,只执行一次。
通常在setup()中做初始化操作
loop()循环执行函数,在setup()执行完毕之后,执行loop()函数中的程序,这个一个死循环,其中的程序会不断执行
通常在loop()中完成程序的主要功能,如驱动各种模块,采集数据等。
2.数字io口的使用
Arduino上的所有io口均为数字io口,包括写有“A”编号的模拟输入引脚
在使用输入输出功能之前,需要先通过pinMode()函数配置引脚的模式为输入模式或输出模式
pinMode(pin,mode)
pin定义的是指定配置的引脚编号;mode为指定的配置模式
有三种模式:
INPUT输入模式
OUTPUT输出模式
INPUT_PULLUP输入上拉模式
配置完模式之后,使用digitalWrite()让其输出高电平或低电平
digitalWrite(pin,value)
pin为指定的引脚号,value为指定的输出电平,分为HIGH和LOW
还可以使用digitalRead(pin)读取外部输入的数字信号。
int value = digitalRead(pin)
参数pin为指定读取状态的引脚编号。 返回值value为读取到的状态,1为高电平,0为低电平
delay(ms)为毫秒延时函数
3.串口通信
Serial.begin(speed)设置波特率
通常使用 300 600 1200 2400 4800 9600 14400 19200 28800 38400 57600 115200
Serial.print(val)串口输出val数据
Serial.println(val)串口输出数据后输出回车换行
Serial.read()读取串口缓冲区中的数据,返回值为读取到的一个字节的数据
当缓冲区中没有可读的数据时,read()函数的返回值为-1
Serial.available()返回值为当前缓冲区中接受到的数据字节数
4.中断
(1)外部中断
arduino Mega2560 外部中断通道有6个
int.0到 int.5对应的引脚为 2 3 21 20 19 18
使用attachInterrupt(中断通道,中断函数,触发方式)函数进行中断初始化
中断函数无参数,无返回值
中断模式有4个 4种触发方式代表的是输入电平的状态
LOW 低电平触发
CHANGE 电平变化触发
RISING 上升沿触发
FALLING 下降沿触发
(2)定时器中断
使用定时器中断 需要引入FlexiTimer2.h这个头文件
设置定时器中断函数 FlexiTimer2::set(定时毫秒,中断处理函数)
计时开始函数 FlexiTimer2::start()
其他型号的arduino地板使用的是MsTimer2.h这个头文件
后记:由于自己有51单片机和Stm32的基础,所以学起arduino特别快速。个人理解,arduino将很多操作进行了封装,很好的方便了用户的使用,提高了编程效率。
- 点赞
- 收藏
- 分享
- 文章举报
- C# 从入门到精通 学习笔记2 第3章 方法和作用域
- Node.js入门学习笔记-IDE选择/配置之WebStorm(windows)
- 【GAN学习笔记】对抗式生成网络入门
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server>(二十一)
- js学习入门篇之知识笔记
- Java学习笔记____ElasticSearch入门
- C# 2010 从入门到精通 学习笔记6 第7章 创建并管理类和对象
- 韩顺平PHP学习视频笔记整理024php快速入门 bs和cs介绍
- c#从入门到放弃之小学生学习笔记
- 零基础入门学习Python学习笔记第七讲【字符串格式化+转义字符】
- Shell入门之条件循环学习笔记
- Python入门学习笔记(2)
- 《Python数据挖掘入门与实践》—— 学习笔记(二)
- Android开发入门学习笔记之二
- 零基础入门学习Python学习笔记第六讲【元组】
- unity3D-游戏/AR/VR在线就业班 C#入门面向对象学习笔记
- UnityShader入门精要学习笔记(一):渲染流水线
- Git 学习笔记(入门教程)
- 【Spring】Spring学习笔记-01-入门级实例
- 【转载】【时序约束学习笔记1】Vivado入门与提高--第12讲 时序分析中的基本概念和术语