arduino知识点

上传人:简****9 文档编号:95446767 上传时间:2019-08-18 格式:PDF 页数:3 大小:164.24KB
返回 下载 相关 举报
arduino知识点_第1页
第1页 / 共3页
arduino知识点_第2页
第2页 / 共3页
arduino知识点_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《arduino知识点》由会员分享,可在线阅读,更多相关《arduino知识点(3页珍藏版)》请在金锄头文库上搜索。

1、#define 常量名 常量值 % 取模运算符 String abc / char abcn 定义字符串 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() 获取系统通电或复位后的运行时间,单位是毫秒/微秒 当引脚悬空时,其电

2、压值处于不定状态,故要根据电压值进行其他操作时应避免悬空 tone(pin,frequency,duration) 占空比为定值50%, duration默认无穷大, 若无duration, 则应用 noTone()来停止发声,注意:同一时间 tone()仅能作用于一个引脚 pulseIn(pin,value,timeout) 返回脉冲宽度,单位为微秒,timeout 超时时间,默认为 1s 串口监视器中的停止符是在按下“发送”后系统自动发动的 外部中断 LOW/CHANGE/RISING/FALLING 低电平/变电平/上升沿/下降沿触发 attachInterrupt(中断编号,中断函数名

3、(返回 void),中断模式) 初始化中断引脚 detachInterrupt(中断编号) 禁用外部中断 编写 library #if ARDUINO = 100 /版本兼容设置 #includeArduino.h #else #includeWProgram.h #endif class XXX /声明类 private: public: #ifndef XXX_H /条件编译命令,判断 XXX_H 是不是已经存在 #define XXX_H . . . #endif #includeXXX.H /编写 cpp 文件,注意应加上版本兼容语句 XXX:XXX() 返回类型 XXX:other_

4、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,否则返回 fal

5、se 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.s

6、etTimeout(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) 构造函

7、数,创建一个软串口 mySerial.listen() 开启软串口监视状态,一个时刻只能监视一个软串口 mySerial.isListening() 判断是不是处在监视状态 mySerial.overflow() 检测缓冲区是不是已经溢出 其他函数和硬串口一样 IIC 总线与 Wire 类库函数 Wire.begin(none/address) 以主机/从机模式加入 IIC 总线 Wire.requestFrom(address,quantity,stop)主机向从机发送数据请求, stop:true 释放 IIC Wire.beginTransmission(address) 告诉某从机主机

8、要向它发送数据 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

9、被触发 其中: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 串行输入,返回输

10、入数据 EEPROM 类库 EEPROM.write(address,value) 对指定地址写入数据,无返回值 EEPROM.read(address) 从指定地址读数据,若无数据,则读出 255 union date 共用体类型,将大于 1B 的数据存到 EEPROM 此例将 float 数据存到 EEPROM 中 float a; 读写的时候是对 c.bi操作,输出或其他是对 c.a 操作 byte b4; date c; SD 卡类库 对 SD 卡中的文件进行操作,用 SD 类 对 SD 卡文件中的具体内容操作用 file 类 SD.begin(csPin) csPin 为输出模式,连

11、到 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.c

12、lose() 关闭某文件 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 关联了

13、 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) 以原始编码格式发送信号 res

14、ult.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 像素数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号