Arduino可以说方便了很多创客,很多不懂硬件的人。其中很重要的一个方面就是其具有数量很多的代码库。
由于Arduino开源的特性,全世界所有使用Arduino的人都可以对其贡献自己的代码。所以发展到现在已经拥有了很多实用且非常方便的代码。当年在学校操作的UART,I2C,SPI等通信协议都可以很方便的使用,PMW控制,舵机控制,LED控制,步进电机也有现成的库。甚至前段时间很火的四轴飞行器,3D打印机也跟Arduino上开源的库脱不开关系。
那么对于对硬件寄存器不是很了解的各个Arduino使用者来说,使用Arduino库有什么需要注意的呢?在这我把我经常遇见的问题分享给大家。
1、各个型号的板子I2C接口位置有区别
如果你使用的库其中涉及到了I2C的通信方式,那么你一定要注意看看你的自己的板子,I2C到底是哪几个引脚。
I2C接口一般需要4个引脚VCC,GND,SDA,SCL。VCC,GND是不会错的。重要的是SDA和SCL2个引脚。下图为各个板子的I2C接口。
一般可能使用到I2C接口的库有:
加速度,陀螺仪,大气压,显示屏等。
2、各个型号的中断引脚有区别
Arduino不同的板子,由于芯片不相同,他们的中断引脚也不相同。如果你发现库里面涉及到attachInterrupt(),就要注意中断引脚的问题。以下是各个板子的中断引脚。
一般可能使用到中断的库有:
编码器,一些数据接收的库等
3、PWM引脚的区别
不同的Arduino的板子,具有不同的PWM引脚,数量。下图为各种板子PWM引脚。
4、定时器的冲突。
同时使用2个库的时候,需要注意2个库是否使用了相同的硬件资源。如I2C,SPI,定时器。其中,定时器是最为隐蔽的,也是最容易被同时使用的。
库使用了哪些定时器一般可以在.h头文件中看到。一般以宏定义的方式出现。如最常见的舵机库,如下图:
再来看看红外信号发送库的头文件。
好了,大家如果在使用Arduino的时候遇到什么问题,也欢迎直接发信息我,一起分享给大家。
联系客服