打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用Arduino库时需要注意的问题

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头文件中看到。一般以宏定义的方式出现。如最常见的舵机库,如下图:


可以看出,针对不同的板子,舵机库使用了不同的定时器,因为舵机需要使用PWM,需要使用定时器产生。


再来看看红外信号发送库的头文件。


可以看出 红外发送的库也使用的定时器,当两个库使用的定时器相同的时候,就会产生冲突,此时可能导致2个库都无法使用。所以,在同时使用2个库的时候一定要注意是否会有硬件资源上的冲突。


好了,大家如果在使用Arduino的时候遇到什么问题,也欢迎直接发信息我,一起分享给大家。



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何使用Arduino舵机库servo.h – 八色木
16路PWM舵机驱动板的使用说明
Arduino学习经验(一)之解决舵机库和pwm输出冲突
Arduino 入门到精通 舵机控制
【CurieTimerZero】一个额外的定时器
Arduino极简教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服