首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >串行通信问题

串行通信问题
EN

Stack Overflow用户
提问于 2015-12-25 02:39:33
回答 1查看 45关注 0票数 0

我正在做一个项目,通过USB与Arduino一起工作。我使用的代码几乎与我正在使用的库中的代码相同。

该代码读取一个.txt文件,并在无限循环中将此数据发送到Arduino。问题是,在165次循环之后,它真的变慢了。连接需要6秒来发送6个字符。始终保持在165。代码如下:

代码语言:javascript
复制
while(SP->IsConnected()) {
  //see if the usb connection is on.
  fstream file;
  file.open("c:/Python27/beki.txt");
  for(int i=0;i<6;i++) {
    file >> incomingData[i];
    cout << incomingData[i];
  }
  file.close();
  cout <<szam << "\n";
  SP->WriteData(incomingData,dataLength);
  szam++; //counting, thats why i know its always slows at 166.
  Sleep(200);
}

我发现它不是文件,而且它不会消耗太多内存,335k。它会发送良好的数据,所以在165次循环之前,它会完美地完成它的工作。这个文件是由另一个无限循环写入的,在这个165次循环之后,代码发送旧数据的字符。

它在Python中做了同样的事情。我不知道有没有什么限制。请帮帮忙。

我使用的是this library

EN

回答 1

Stack Overflow用户

发布于 2015-12-25 03:00:12

您需要将以下内容带到while循环之外:

代码语言:javascript
复制
fstream file;
file.open("c:/Python27/beki.txt");

代码语言:javascript
复制
file.close();

与现在一样,每次打开文件后,您可能都会发送相同的字节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34456730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档