极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 64020|回复: 40

Arduino 长时间读取串口数据出现中断

[复制链接]
发表于 2013-5-17 21:08:57 | 显示全部楼层 |阅读模式
我需要长时间纪录压力数据,用Arduino Uno的板子记录两个压力传感器的数据,但时间一长就会停止纪录了,停止的时刻是随机的,最多一次记了1200多分钟的(每分钟读取一次)。停止记录之后,关闭Serial monitor窗口就再打不开Serial monitor窗口了,也不能再向板子传程序了,都会报错显示Serial port 4 has already in use。只有关掉IDE窗口,拔掉usb线,再开IDE窗口,再插usb线之后才能重新开始。
以为是usb供电电压不稳,接了9v 1A外接电源,再试,依然不行。
以为是买的淘宝里的50块钱的Uno板子不行,重新买了138¥的Uno,再试,还是不行。
以为可能会是压力传感器或者自己写的程序的问题。按照论坛里的帖子,用LM35D温度传感器记录温度数据,还是会出现这个问题。
再然后,试着用Arduino IDE里自带的example里面的01.Basic-AnalogReadSerial的程序读串口的数据,还是同样的问题。中断了。。
崩溃了,请高手指点啊,是不是真的就不能长时间读取串口数据啊,这个不科学啊。。。。
回复

使用道具 举报

发表于 2013-5-17 21:32:37 | 显示全部楼层
同样的问题... 求解
没试过 mango , 不知道会不会
回复 支持 反对

使用道具 举报

发表于 2013-5-17 22:33:35 | 显示全部楼层
本帖最后由 弘毅 于 2013-5-17 22:53 编辑

{:soso_e103:}晚上写个程序用MangoII做一下测试。。明早汇报。。。如果使用Arduino IDE的串口监视器会有一个问题,每次打开串口监视器会自动重启Arduino。。。所以我想不能稳定运行的原因在这里,你换一个第三方串口监视器,或者使用MangoII,把上面DTR跳帽拔掉。。。让自动复位功能失效试试~~现在开始让板子每隔1秒发送一个A0口读数到IDE的串口监视器。。22点37分。。。开始计时。。

备份一下程序顺道。。。。

  1. /*
  2.   AnalogReadSerial
  3.   Reads an analog input on pin 0, prints the result to the serial monitor.
  4.   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

  5. This example code is in the public domain.
  6. */

  7. // the setup routine runs once when you press reset:
  8. long a=0;

  9. void setup() {
  10.   // initialize serial communication at 9600 bits per second:
  11.   Serial.begin(9600);
  12. }

  13. // the loop routine runs over and over again forever:
  14. void loop() {
  15.   // read the input on analog pin 0:
  16.   int sensorValue = analogRead(A0);
  17.   // print out the value you read:
  18.   a = ++a;
  19.   Serial.print(a);
  20.   Serial.print(".");
  21.   Serial.println(sensorValue);
  22.   delay(1000);        // delay in between reads for stability
  23. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2013-5-18 02:18:32 | 显示全部楼层
辛苦了 弘大师... 期待明早的好消息
回复 支持 反对

使用道具 举报

发表于 2013-5-18 02:18:56 | 显示全部楼层
我是对 mango ii 有无比的信心啊..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-18 08:06:03 | 显示全部楼层
弘毅 发表于 2013-5-17 22:33
晚上写个程序用MangoII做一下测试。。明早汇报。。。如果使用Arduino IDE的串口监视器会有一个 ...

多谢 弘毅大哥了 辛苦辛苦
回复 支持 反对

使用道具 举报

发表于 2013-5-18 08:18:58 | 显示全部楼层
本帖最后由 弘毅 于 2013-5-18 08:21 编辑

让串口监视器跑了一晚上。。。。貌似挺正常的。。。昨晚是把mangoII的DTR跳帽拔掉后进行的测试。。。

现在还在335XX多少继续跳动着。。。貌似没发现啥问题。。。先去工作室干活。。。今天找一台电脑挂个2,3天试试跑的是否能稳定运行。



回楼主~~经过晚上测试呢,你可以使用下面方法来测测

1,不要使用官方IDE的串口监视器,使用第三方的串口监视器监视器来进行数据采集。测试看是否能长时间运转。。。。如果可以长时间了,那说明很有可能是IDE的串口监视器原因。。或者是DTR自动复位信号部分导致的故障。。。

如果还是不能长时间运行。。。那么很有可能就是UNO的USB转串口芯片问题了。那一颗毕竟不是专业串口芯片。。只是软件模拟的。Mango用的USB转串口芯片沿用了那颗工业级的FT232~~~感觉长时间的数据采集。。还是得上工业级芯片比较靠谱。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-18 10:16:53 | 显示全部楼层
弘毅 发表于 2013-5-18 08:18
让串口监视器跑了一晚上。。。。貌似挺正常的。。。昨晚是把mangoII的DTR跳帽拔掉后进行的测试。。。

现 ...

大哥您真敬业,感动啊~~~
这就回去试试第三方串口监视去,再不行就直接买Mango了
回复 支持 反对

使用道具 举报

发表于 2013-5-18 17:13:02 | 显示全部楼层
找了台台式机(这个台式机真不靠谱,重启了9次才进了系统!!!)挂着测试。。。
下班前。。。截图留念。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-5-19 17:30:32 | 显示全部楼层
坑了。。下午来看时,发现那个台式机自动重启了。。囧死了,得去找台带电池的笔记本电脑测试了。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-19 22:46:33 | 显示全部楼层
。。。。。。
我用第三方串口监测软件试了
昨天晚上开始计时的 每十秒读一个A0的数
今天早上九点多就不行了
同样的问题  一样的死法
证明问题应该不在串口监测器
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-19 22:49:02 | 显示全部楼层
弘毅 发表于 2013-5-19 17:30
坑了。。下午来看时,发现那个台式机自动重启了。。囧死了,得去找台带电池的笔记本电脑测试了。。

等待你的好消息了
如果没问题 瞬间立刻马上 就去买 mango了
这问题坑了我快一个月了。。。
回复 支持 反对

使用道具 举报

发表于 2013-5-20 00:06:14 | 显示全部楼层
badboyhr 发表于 2013-5-19 22:49
等待你的好消息了
如果没问题 瞬间立刻马上 就去买 mango了
这问题坑了我快一个月了。。。


刚抢了老婆本本。。挂上测试。。。老婆出差7天。。。刚好用来跑极限测试。。。
回复 支持 反对

使用道具 举报

发表于 2013-5-20 11:04:21 | 显示全部楼层
跑了11个小时。。截图留恋。。。还在继续运行。。看看跑多久才会挂掉

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-20 18:54:03 | 显示全部楼层
弘毅 发表于 2013-5-20 11:04
跑了11个小时。。截图留恋。。。还在继续运行。。看看跑多久才会挂掉

静静地关注 耐心地等待
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-17 14:48 , Processed in 0.101943 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表