arduino学习笔记二

arduino语言

  • Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不了解AVR单片机(微控制器)的朋友也能轻松上手。 在与Arduino DIYER接触的这段时间里,发现有些朋友对Arduino语言还是比较难入手,那么这里我就简单的注释一下Arduino语言(有错的地方还请各位指正)。

关键字:

语法符号:

运算符:

数据类型:

数据类型转换:

常量:

  • HIGH | LOW     表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。
  • INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT   表示输出(AVR能提供5V电压 40mA电流)。
  •  true | false   true 表示真(1),false表示假(0)。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

结构

  • void setup()   初始化变量,管脚模式,调用库函数等
  • void loop() 连续执行函数内的语句

功能

数字 I/O

  • pinMode(pin, mode)    数字IO口输入输出模式定义函数,pin表示为0~13, mode表示为INPUT或OUTPUT。
  • digitalWrite(pin, value)   数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。比如定义HIGH可以驱动LED。
  • int digitalRead(pin)    数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数字传感器。

模拟 I/O

  • int analogRead(pin)    模拟IO口读函数,pin表示为0~5(Arduino Diecimila为0~5,Arduino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。
  • analogWrite(pin, value) - PWM     数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。

扩展 I/O

  • shiftOut(dataPin, clockPin, bitOrder, value)    SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。
  • unsigned long pulseIn(pin, value)    脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。

时间函数

  • unsigned long millis()   返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。
  • delay(ms)    延时函数(单位ms)。
  • delayMicroseconds(us)    延时函数(单位us)。

数学函数

  • min(x, y) 求最小值
  • max(x, y) 求最大值
  • abs(x)   计算绝对值
  • constrain(x, a, b) 约束函数,下限a,上限b,x必须在ab之间才能返回。
  • map(value, fromLow, fromHigh, toLow, toHigh)    约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。
  • pow(base, exponent) 开方函数,base的exponent次方。
  • sq(x)     平方
  • sqrt(x)   开根号

三角函数

随机数函数

  • randomSeed(seed)   随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。
  • long random(max)   随机数函数,返回数据大于等于0,小于max。
  • long random(min, max)   随机数函数,返回数据大于等于min,小于max。

外部中断函数

  • attachInterrupt(interrupt, , mode)     外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。
  • detachInterrupt(interrupt)    中断开关,interrupt=1 开,interrupt=0 关。

中断使能函数

串口收发函数

------------------------------------------------------------------------------------------------------------------------------------------------

官方库文件

  • EEPROM - EEPROM读写程序库
  • Ethernet - 以太网控制器程序库
  • LiquidCrystal - LCD控制程序库
  • Servo - 舵机控制程序库
  • SoftwareSerial - 任何数字IO口模拟串口程序库
  • Stepper - 步进电机控制程序库
  • Wire - TWI/I2C总线程序库
  • Matrix - LED矩阵控制程序库
  • Sprite - LED矩阵图象处理控制程序库

--------------------------------------------------------------------------------------------------------------------------

接下来简单看个程序学习一下

通过Arduino编译器查看串口数据

最简单的例子:
void setup() 

  Serial.begin(9600); // 打开串口,设置波特率为9600 bps
}
void loop() 
{
      int val;
      val=analogRead(5);//传感器接到模拟口5,数值根据自己的需要可变
      Serial.println(val,DEC);//从串口发送字符串并换行         
      delay(100);
}

如果电路安装正确,按照示例代码运行、上传,然后点击编译器的Serial Monitor按钮,就可以看到从代码定义的输入口(这儿是模拟口5)获取的数据了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜航一直在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值