啦啦啦,偶滴Arduino程序截图...
本帖最后由 SS15 于 2012-1-19 16:58 编辑Arduino 2560
本帖最后由 SS15 于 2012-1-21 00:36 编辑
运行在 Arduino2560上,主要实现如下功能
1、获取GPS数据
2、控制串口无线通讯模块
3、数据帧的发送接收
4、温度、内存信息的获取
5、调试控制台的实现
6、WDT定时器
7、1602液晶屏显示
36字节/帧,包含10来个数据,正常发送速率每隔5秒发送一帧数据,今天尝试了一下以 10FPS 速率发送数据,无线模块、Arduino、接收端都没有被"撑死",哈哈哈,实现无线实时控制没有问题了,图像传输也可以尝试一下拉
=.=好复杂的数据。。。。这么多数据。。。会不会丢包? 初步测试没有丢包,等以10Hz的速率持续发上几个小时试试
我用的数传模块波特率是115200,按说的话速率还差得远呢。如果传输的有效数据速率能够达到10K/s,那么图像传输就基本够用了。
昨天发现个小问题,系统进入休眠状态再唤醒之后,数传模块似乎溢出了。
谢谢SS15兄。我看了你两篇关于2560的文章,也准备新入一块2560。
这几天测试UNO+W5100,利用官方examples测试时,发现在连续刷新页面时,可能出现“网站无法找到”或者“请求超时”的问题(这时ping还是可以通的)。这个问题的出现不知道是UNO的资源不足的问题,还是UNO+W5100由于是单线程,在一个会话没有结束时,连续刷新页面,会造成上述问题。如果是资源问题,我想试试2560。
SS15兄是否试过W5100?是否出现过类似问题?谢谢
--------------------------
附:如测试官方库的webserver
浏览器访问http://host/,正常。可以显示模拟pin的状态。
连续刷新http://host/,或者另外开一个浏览器窗口访问,就可能出现“网站找不到”、或者“超时”等错误提示。刷新间隔长些,情况会好些。 我还没买W5100,最近因为我们的硬件设计实现延迟了,所以工作重点又转到Windows平台的软件设计上来了。
从你描述的情况上来看,不像是因为资源耗尽造成的系统崩溃。因为一旦出现内存耗尽的情况,Arduino会自动重启或者完全死掉。可能是Web服务耗时过长的原因;大致了解一下Webduino的实现机制有助于进一步的学习研究。
也可以用下面的代码测试一下程序提供web服务所需要的运行时间:
long a;
a = millis();
// web 服务相应代码...
Serial.print("\r\nRun time:")
Serial.print(millis() - a);
SS15兄的意思是,可能是Web服务耗时过长,使得一个服务未完,我又启动下一个服务(比如刷新屏幕,另提出一个请求),造成在IP栈中堆死。
谢谢,晚上回去测试,有结果及时上报.
页:
[1]