学习动机
最近对esp32接触一段时间后发现esp32兼容Arduino的开发模式,鉴于Arduino容易上手,对于一般的项目来说够用,且在国际间比较流行通用,所以决定入门Arduino
学习前的准备
- Arduino IDE下载安装
- 开发板元器件等
- 安装esp32开发板资料
- C/C++语言基础
常用基本语句
1 | /*初始化设置,此函数只运行一次*/ |
不得不说这个比之前用的stm32单片机开发简单多了,许多内部实现原理都无需深究,非常适合一般项目应用。
总的来说和上面的差不多,只不过将pinMode()
函数的第二个参数改为INPUT
同时,使用digitalRead()
函数代替digitalWrite()
1 | /*初始化设置,此函数只运行一次*/ |
1 | void steup(){ |
计算机通过串口发送数据
使用计算机向串口发送数据时,数据会先缓存至”串口接收缓存”中,可以通过
Serial.available()
检查接收缓存是否为空,为空时返回0
,不为空时返回缓存字节数,如下程序段可以返回串口接收的数据1
2
3
4
5
6if(Serial.available()>0){ /*先判断是否有数据在数据缓存区*/
char serialData = Serial.read(); /*接受到的数据为字符型数据*/
int serSData = Serial.parseInt(); /*分析串口接受到的整数信息并赋值给serData*/
Serial.println(serialData);
Serial.println(serData);
}输入上拉模式
Arduino可以使用pinMode(pin, INPUT_PULLUP)
配置为输入上拉模式,该模式下,在无外部电路影响的情况下,引脚电位被拉高
操作方法:在主程序setup()
函数中写入pinMode(pin, INPUT_PULLUP)
即可
IIC通讯协议原理不在此赘述
Arduino可以通过导入Wire
库来实现IIC通讯
具体到代码
1 |
|
以上即是目前项目中所要用到的关于Arduino相关知识。