新手arduino编程时要避免的坑

2017-08-161.2万
AI 快速预览详细 收起
本文介绍了Arduino编程中常见的库冲突问题,特别是Servo库与TimerOne库、tone函数与IRremote库及MsTimer2库之间的冲突。通过了解这些库的优先级和限制,初学者可以避免编程中的常见错误,节省调试时间。例如,使用Servo库时,不能再使用TimerOne库,D9、D10不能用作PWM引脚,但可以用做普通数字引脚。同样,使用tone函数时,D3、D11不能作为PWM引脚。


Arduino编程时有哪些库会互相冲突?
程序中使用了Servo,不能再使用TimerOne库,D9、D10不能用作PWM,但可以用做普通数字引脚。
程序中使用了TimerOne库,不能再使用Servo库,D9、D10不能用作PWM,但可以用做普通数字引脚。
程序中将D9、D10作为PWM输出引脚,不能再使用Servo库和TimerOne库。
优先级:TimerOne > Servo > D9、D10 PWM
总结:TimerOne 、 Servo 、 D9、D10 PWM,在编程时,只能选择使用一个。

程序中使用tone函数控制蜂鸣器,不能使用IRremote(红外遥控)库和MsTimer2库,D3、D11不能作为PWM引脚使用,可以当作普通引脚。
程序中使用IRremote(红外遥控)库,不能再使用MsTimer2库和tone函数,D3、D11不能作为PWM引脚使用,可以当作普通引脚。
程序中使用MsTimer2库,不能再使用IRremote(红外遥控)库和tone函数,D3、D11不能作为PWM引脚使用,可以当作普通引脚。
程序中使用D3、D11的PWM功能,不能再使用IRremote(红外遥控)库、MsTimer2库和tone函数。
优先级:tone>MsTimer2库>IRremote(红外遥控)库>D3、D11 PWM
总结:tone、MsTimer2库、IRremote(红外遥控)库、D3、D11 PWM,不能同时使用两个及两个以上。






创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
pATAq
pATAq
感谢楼主分享,好人一生平安!
shzrzxlee
shzrzxlee
您用的是arduoino 什么板子?
shzrzxlee
shzrzxlee
使用了Servo库,怎么就不能就:“”D9、D10不能用作PWM“”?
比如在D9上接个舵机?
Vash
Vash
作者
回复shzrzxlee
没描述清楚,是不能用D9,D10的PWM来控制电机,比如小车轮子。
- 没有更多了 -