标题:
Arduino库函数中文说明下载
[打印本页]
作者:
792245610a
时间:
2017-11-19 23:11
标题:
Arduino库函数中文说明下载
#define 常量名 常量值
% 取模运算符
String abc / char abc[n] 定义字符串
pinMode(pin,mode); 用于引脚的初始化 mode包括 INPUT/OUTPUT/INPUT_PULLUP
Arduino 数模转换器有 10位精度,可以将0-5V转换为 0-1023,仅用于analogRead(pin) analogWrite(n) 写的并不是真正的模拟信号,而是占空比不同的方波:电压=占空比×5V,n∈(0,255),PWM(脉冲宽度调制)波 millis()/micros() 获取系统通电或复位后的运行时间,单位是毫秒/微秒 当引脚悬空时,其电压值处于不定状态,故要根据电压值进行其他操作时应避免悬空
tone(pin,frequency,duration) 占空比为定值50%, duration默认无穷大,若无duration,则应用noTone()来停止发声,注意:同一时间 tone()仅能作用于一个引脚 pulseIn(pin,value,timeout) 返回脉冲宽度,单位为微秒,timeout超时时间,默认为 1s 串口监视器中的停止符是在按下“发送”后系统自动发动的
外部中断
LOW/CHANGE/RISING/FALLING 低电平/变电平/上升沿/下降沿触发attachInterrupt(中断编号,中断函数名(返回void),中断模式) 初始化中断引脚
detachInterrupt(中断编号) 禁用外部中断
编写library
#if ARDUINO >= 100 //版本兼容设置
#include"Arduino.h"
#else
#include"WProgram.h"
#endif
class XXX{ //声明类
private:
public:
}
#ifndef XXX_H //条件编译命令,判断XXX_H是不是已经存在
#define XXX_H
.
.
.
#endif
#include"XXX.H" //编写cpp文件,注意应加上版本兼容语句
XXX::XXX()
返回类型 XXX::other_func()
func_name1 KEYWORD1 //关键字高亮显示
func_name2 KEYWORD2
复制代码
硬件串口(UART)通信
两个设备TX与RX交叉连接,GND相连
在MEGA上USB口是和引脚 0,1连在一块的
Serial.available() 返回串口接收缓冲区的字节数
Serial.begin(speed,config) 初始化串口,speed波特率,config数据、校验、停止位
Serial.end() 释放串口通信引脚,使其作为普通引脚
Serial.find(target) 在缓冲区中搜索target,找到返回 true,否则返回false
Serial.findUntil(target,terminal) 搜索target直至terminal,无返回值
Serial.flush() 等待正在发送的数据发送完成
Serial.peek() 返回但不删除一字节数据
Serial.print(value,format) 以ASCII码格式输出数据
Serial.read() 读取并删除一字节数据
Serial.readBytes(buffer,length) 读取 length长度的数据并存入 buffer
Serial.readBytesUntil(character,buffer,length)
Serial.setTimeout(time) 设置超时(等待串口数据)时间,与前两个函数配合使用
Serial.write(val/str/(buf,len)) 以字节形式输出数据到串口,返回输出的字节数
ps:对于MEGA,Serial 包括Serial,Serial1,Serial2,Serial3,Serial4
String += (char)Char 将Char添加到String后面
void serialEvent() 串口事件,在串口缓冲区有数据时触发,实际是运行在两次 loop之间
软件模拟串口通信
SoftwareSerial mySerial(rxPin.txPin) 构造函数,创建一个软串口
mySerial.listen() 开启软串口监视状态,一个时刻只能监视一个软串口
mySerial.isListening() 判断是不是处在监视状态
mySerial.overflow() 检测缓冲区是不是已经溢出
其他函数和硬串口一样
IIC总线与Wire类库函数
Wire.begin(none/address) 以主机/从机模式加入IIC 总线
Wire.requestFrom(address,quantity,stop)主机向从机发送数据请求, stop:true 释放 IIC
Wire.beginTransmission(address) 告诉某从机主机要向它发送数据
Wire.endTransmission(none/stop) 告诉从机数据发送完毕,stop:true释放IIC
Wire.write(value/string/(date,length)) 主机从机间发送数据
Wire.available() 返回缓冲区的字节数
Wire.read() 从机或主机从缓冲区中读取数据
Wire.onReceive(myHandler1) 从机的函数,主机endTransmission后myHandler1被触发
Wire.onRequest(myHandler2) 从机的函数,主机requestFrom后myHandler2 被触发
其中:void myHandler1(int numBytes) void myHandler2() numBytes:主机发送的字节数
SPI总线与SPI类库函数
SPI.begin() 初始化SPI通信
SPI.end() 关闭SPI 通信
SPI.transfer(val) val要发送的字节数据,返回读到的字节数据
shiftOut(datePin,clockPin,bitOrder,value) IDE自带函数,模拟SPI串行输出,无返回
shiftIn(datePin,clockPin,bitOrder) IDE自带函数,模拟 SPI串行输入,返回输入数据
EEPROM类库
EEPROM.write(address,value) 对指定地址写入数据,无返回值
EEPROM.read(address) 从指定地址读数据,若无数据,则读出255
union date 共用体类型,将大于1B的数据存到 EEPROM
{ 此例将float数据存到EEPROM中
float a; 读写的时候是对c.b[ i]操作,输出或其他是对 c.a操作
byte b[4];
}
date c;
SD卡类库
对SD卡中的文件进行操作,用 SD类
对SD卡文件中的具体内容操作用 file类
SD.begin(csPin) csPin为输出模式,连到SD卡使能端,返回 true/false
SD.exists(filename) 判断某文件夹是否存在,返回true/false
SD.open(filename,mode) 打开某文件,mode:FILE_READ/FILE_WRITE,返回true/false
SD.remove(filename) 移除某文件夹,返回true/false
SD.mkdir(filename) 创建某文件夹,返回true/false
SD.rmdir(filename) 移除某空文件夹,返回true/false
file.available() 检查并返回当前文件中可读的字节数
file.close() 关闭某文件
file.peek() 读取当前字节,但并不移动到下一字节
file.position() 获取“光标”在当前文件中的位置
file.print(date,FORMAT) 以某格式输出数据到文件
file.seek(position) 将“光标”移到某一位置
file.size() 获取文件大小
file.read() 读取1B数据
file.write(date/(buf,len)) 写入数据到文件
以上file为一个File 类对象
定义一个File对象myFile,再用myFile = SD.open()打开文件,此文件就和myFile关联了
IRremote类库
IRrecv object(recvPin) 构造函数,创建一个红外接收头对象,recvPin连到接收头引脚
IRrecv.enableIRIn() 初始化红外解码
IRrecv.decode(&results) 检查是否收到编码,解码信息存入decode_results对象results
IRrecv.resume() 接收下一个编码
IRsend object() 创建 IRsend类对象
IRsend.sendNEC(data,nbits) 以NEC编码格式发送指定值
IRsend.sendRaw(buf,len,hz) 以原始编码格式发送信号
result.value 是接收到的编码数据
LiquidCrystal类库
LiquidCrystal(rs,(rw),enable,(d0,d1,d2,d3),d4,d5,d6,d7) 初始化LCD
lcd.begin(cols,rows) 设置显示器的宽度和高度
lcd.clear() 清屏,光标移到左上角
lcd.home() 光标复位到左上角
lcd.setCursor(col,row) 设置光标到指定位置
lcd.write(data) 输出一个字符到 LCD
lcd.print(data) 输出一串字符到 LCD,返回输出的字符数
lcd.(no)c/Cursor() 显示/隐藏光标
lcd.(no)b/Blink() 开启/关闭光标闪烁
lcd.(no)d/Display() 开启/关闭LCD显示功能
lcd.scrollDisplayLeft/Right() 向左/右滚屏
lcd.(no)a/Autoscroll() 开启/关闭自动滚屏
lcd.createChar(num,data) 创建自定义字符,num 自定义字符编号,data像素数据
全部资料51hei下载地址:
Arduino库函数中文说明.pdf
(164.24 KB, 下载次数: 631)
2017-11-20 02:59 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
hhzzhhy
时间:
2017-11-21 15:00
学习了,谢谢分享!
作者:
jason89
时间:
2017-12-8 13:33
hhzzhhy 发表于 2017-11-21 15:00
学习了,谢谢分享!
加我89771344给我好不?
作者:
s5b690
时间:
2018-1-2 00:07
学习了,谢谢分享!
作者:
王吒吒
时间:
2018-1-18 10:10
谢谢分享,学习了
作者:
jwbl
时间:
2018-1-19 08:17
下载学习学习
作者:
cjt880
时间:
2018-1-19 22:09
不错喇谢谢分享啦。
作者:
syf758521
时间:
2018-4-17 14:24
谢谢分享,学习了
作者:
hjj0717
时间:
2018-4-20 13:09
学习了,谢谢分享!
作者:
dtsaint
时间:
2018-5-2 09:14
看内容很适合我现在学习,谢谢了!!
作者:
ll111
时间:
2018-5-8 14:39
这个挺好的,下来看看.
作者:
Pretext_0922
时间:
2018-5-18 20:08
很实用,感谢楼主的分享,用起来很方便
作者:
hu252623
时间:
2018-5-31 20:20
想下载
作者:
liucheng1973
时间:
2018-6-5 16:19
非常給力!!
作者:
cjt880
时间:
2018-6-7 07:21
谢谢啦。哈哈哈
作者:
295767744
时间:
2018-7-3 16:53
学习了,谢谢分享!
作者:
cjt880
时间:
2018-7-4 09:37
好。谢谢分享啦
作者:
嘿小毅51
时间:
2018-10-15 17:11
谢谢分享,学习真好
作者:
huaishang
时间:
2018-10-28 12:31
学习了,谢谢分享!
作者:
安静263
时间:
2019-4-23 13:31
谢谢分享!
作者:
安静263
时间:
2019-4-23 13:31
谢谢分享!学习了!
作者:
阿鎏尼克
时间:
2019-4-24 20:59
学习了,谢谢分享
作者:
prettytank
时间:
2019-5-16 06:46
感谢分享,下载啦,淘到宝了
作者:
zheng_wei339
时间:
2019-5-24 08:27
感谢分享,已经下载学习
作者:
pipi_1
时间:
2019-6-24 17:22
感谢分享,让初学者能够快速上手
作者:
zhjf103
时间:
2019-7-10 14:31
谢谢分享,学习中
作者:
ywenle
时间:
2019-10-2 01:06
学习了,谢谢分享
作者:
fzrn23
时间:
2019-11-4 21:26
学习了,谢谢分享!
作者:
缱绻
时间:
2019-11-23 10:28
学习了,谢谢分享
作者:
whwawa
时间:
2019-11-26 21:15
谢谢楼主分享
作者:
qq472001654
时间:
2019-12-4 23:47
谢谢分享,学习学习了
作者:
许子由
时间:
2019-12-24 14:31
谢谢分享,学习学习了
作者:
ssh123
时间:
2019-12-25 10:13
刚刚还在找这个东西呢
作者:
ssh123
时间:
2019-12-25 10:16
谢谢楼主分享!
作者:
kean2000
时间:
2019-12-27 13:03
刚入门,学习了,谢谢分享!
作者:
wz78610876
时间:
2019-12-30 21:16
学习了,感谢分享
作者:
不美却独一无二
时间:
2019-12-31 11:54
下载啦,三克油
作者:
poweriver
时间:
2020-2-21 18:39
感谢分享!入门中急切需要,好人一生平安
作者:
zzp1374
时间:
2020-2-24 18:46
感谢!!!
作者:
Davidzz
时间:
2020-3-4 16:17
正在学习,感谢分享
作者:
daiandy1943
时间:
2020-3-7 20:44
正好需要,学习了
作者:
njl2006
时间:
2021-11-7 11:14
不错不错,挺适合初学着,感谢了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1