Arduino开发常见错误
2015-05-24 15:23
288 查看
使用Ethernet时需要指定访问服务器的ip,我用的是本机做服务器。但是有一天重启了路由器,ip地址就变了!程序得跟着改!
Arduino突然烧写不了程序:可能是正在运行的程序让arduino死机了,于是就有无响应错误
数组开小了!
Pin被占用了:如Ethernet需要4,10,11,12,13五个Pin,而VirtualWire需要12,13Pin,这时Ethernet就不能正常运行。要注意的是,可能存在隐含的占用pin情况。比如我只用到了VirtualWire的发送部分,也设置成Pin7了,但是没有想到它的接收部分(默认的12(还是13)Pin)还在初始化,占用掉了这个脚。
内存不够用了!记得调用freeMemory()检查一下
如果是电脑(python之类)和Arduino串口通信,不要忘了缓冲区!它的通信大概是这样的:使用write()时不阻塞地把数据放到大小有限的缓冲区,然后另一方通过read()一点一点读取出来。如果一口气write()太多了,那么缓冲区就会爆。因此,可以这样解决:双方约定一个包的大小,然后甲一次发送一个包,乙接收成功这么多个字节之后就发送一个应答,让甲继续。
Arduino突然烧写不了程序:可能是正在运行的程序让arduino死机了,于是就有无响应错误
数组开小了!
Pin被占用了:如Ethernet需要4,10,11,12,13五个Pin,而VirtualWire需要12,13Pin,这时Ethernet就不能正常运行。要注意的是,可能存在隐含的占用pin情况。比如我只用到了VirtualWire的发送部分,也设置成Pin7了,但是没有想到它的接收部分(默认的12(还是13)Pin)还在初始化,占用掉了这个脚。
内存不够用了!记得调用freeMemory()检查一下
如果是电脑(python之类)和Arduino串口通信,不要忘了缓冲区!它的通信大概是这样的:使用write()时不阻塞地把数据放到大小有限的缓冲区,然后另一方通过read()一点一点读取出来。如果一口气write()太多了,那么缓冲区就会爆。因此,可以这样解决:双方约定一个包的大小,然后甲一次发送一个包,乙接收成功这么多个字节之后就发送一个应答,让甲继续。
相关文章推荐
- WCF分布式开发常见错误(25):The certificate 'CN=WCFHTTPS' must have a private key
- WCF分布式开发常见错误解决(6)Service 'WcfServiceApp.WCFService' has zero application
- Android开发常见错误及技巧
- android 开发常见错误汇总系列
- 一网打尽 .Net 开发过程中安装、调试的常见问题与错误!
- Java 开发原则和常见错误
- NDK开发常见错误
- 项目开发中的一些常见错误
- 谷歌Android开发常见错误及技巧
- iOS开发常见错误
- Android开发常见错误
- 第九篇:jni开发中常见的错误及其注意事项
- Android开发常见错误汇总
- Android开发各类常见错误解决方案
- 开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
- 常见android开发错误整理(陆续补充中...)
- WCF分布式开发常见错误(28):The requested upgrade is not supported by...
- 【总结】常见的开发中错误
- java后台开发-hibernateTools自动构建实体类及常见错误
- Web开发人员最易犯下的十种常见错误