Arduino开发常见错误

本文介绍了使用Arduino过程中遇到的一些常见问题及其解决方案,包括指定服务器IP的变化处理、程序烧写失败的原因排查、数组容量不足的问题、Pin脚冲突的规避、内存溢出的检查方法以及串口通信中缓冲区管理的有效策略。
  1. 使用Ethernet时需要指定访问服务器的ip,我用的是本机做服务器。但是有一天重启了路由器,ip地址就变了!程序得跟着改!
  2. Arduino突然烧写不了程序:可能是正在运行的程序让arduino死机了,于是就有无响应错误
  3. 数组开小了!
  4. Pin被占用了:如Ethernet需要4,10,11,12,13五个Pin,而VirtualWire需要12,13Pin,这时Ethernet就不能正常运行。要注意的是,可能存在隐含的占用pin情况。比如我只用到了VirtualWire的发送部分,也设置成Pin7了,但是没有想到它的接收部分(默认的12(还是13)Pin)还在初始化,占用掉了这个脚。
  5. 内存不够用了!记得调用freeMemory()检查一下
  6. 如果是电脑(python之类)和Arduino串口通信,不要忘了缓冲区!它的通信大概是这样的:使用write()时不阻塞地把数据放到大小有限的缓冲区,然后另一方通过read()一点一点读取出来。如果一口气write()太多了,那么缓冲区就会爆。因此,可以这样解决:双方约定一个包的大小,然后甲一次发送一个包,乙接收成功这么多个字节之后就发送一个应答,让甲继续。

转载于:https://www.cnblogs.com/turtlegood/p/4525885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值