【发布时间】:2016-10-01 04:14:41
【问题描述】:
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
char j='a';
main()
{
fstream arduino;
arduino.open("/dev/ttyACM0",ios::in | ios::out);
//Opening device file
if(!arduino)
cout<<"error";
arduino<<2;
arduino.clear();
if(arduino >> j)
cout << "Value received: " << j << '\n';
else if(arduino.eof())
cerr << "Premature EOF\n";
else if(arduino.bad())
cerr << "Attempt to read from device failed.\n";
else
cerr << "Logical I/O error.\n";
arduino.close();
return 0;
}
arduino 代码: 诠释 p; 无效设置() { pinMode(13,输出); 序列号.开始(9600); }
void loop()
{
if(Serial.available())
{
p=Serial.read();
if(p!=-1)
{
Serial.write(1);
digitalWrite(13,HIGH);
delay(5000);
}
}
else
{
digitalWrite(13,LOW);
delay(1000);
}
}
我已经在 C++ 中尝试使用此代码与 arduino 进行串行通信。我收到一个错误“过早的 eof”。这里有什么问题??
【问题讨论】: