单片机程序员一天学会Arduino单片机
有人可能会说,一天太快了,当然也有人会说一天太慢了。
没错,的确是这样,因为对于学过51,和stm的地球人来说,
一天时间的确是太久了。但是对于没有学过的人来说,
只要你是一枚合格的程序员,那么你一天就可以学会。
因为芯片的封装了强大方便的API,和我们学完C++去学java是一种感觉。
首先我先学习一下Arduino的API
数字IO口
pinMode(pin,mode)
配置引脚为输人或输出
pin:引脚
mode:模式 INPUT OUTPUT
digitalWrite(pin,value)
输出高低电平
pin:引脚
value:电平 HIGH LOW
int digitalRead(pin)
读取引脚电平 HIGH LOW
模拟IO口
analogReference(type)
设置模拟口的参考电压
DEFAUKT :5V
INTERNAL:低电压模式,参考片内基准电压
EXTERNAL: 扩展模式,参考AREF引脚的电压
int analogRead(pin)
读取模拟值 0 - 1023
analogWrite(pin,value)
设置输出模拟值
0 - 255
高级IO口
unsigned long pulseln(pin,state,timeout)
读取引脚的高低电平时间长度(单位ms)
io口
HIGH LOW
超时时间
时间函数
unsigned long millis()
获取芯片运行时间的长度(ms),最长记录9小时22分,自动重0开始
延时函数
delay(ms)
毫秒级
delayMicroseconds(us)
微妙级
数学函数
min(x,y) 最小值
max(x,y) 最大值
abs(x) 绝对值
constrain(amt,low,high) 输出low - high
三角函数
sin(rad),cos(rad),tan(rad)
随机数
randomSeed(seed) 设置随机种子
long random random(x,y) 随机数范围 x - y
//////////////////////////////////////////////////////////////////////////////
中断函数
interrupts()和nolnterrupts() 打开和关闭总中断
attachlnterrupt(interrupt,function,mode)
设置外部中断
参数:中断源(0,1) 中断处理函数 触发模式
触发模式:LOW(低电平) CHANGE(变化时触发) RISING(低电平变高电平触发) FALLING(高电平变低电平触发)
串口通讯
串口是通过HradwareSerial类实现的
HardwareSerial类的对象是Serial
Serial.begin(9600) 设置波特率
Serial.available() 判断是否有数据接收
Serial.read() 读取数据
Serial.write() 字符串和值都可以
Serial.write(buf,len) 字节数组加长度
Serial.print() 无换行
Serial.println() 有换行
Serial.flush() 刷新串口数据