【发布时间】:2019-01-31 07:41:05
【问题描述】:
在我的 C++ 程序上设置串行 COM 端口时遇到问题。 下面是我的代码。
#include<iostream>
using namespace std;
#include<string>
#include<stdlib.h>
#include"SerialPort.h"
char output[MAX_DATA_LENGTH];
char incomingData[MAX_DATA_LENGTH];
char *port = "\\\\.\\COM7";
int main(){
SerialPort arduino(port);
if(arduino.isConnected()){
cout<<"Connection made"<<endl<<endl;
}
else{
cout<<"Error in port name"<<endl<<endl;
}
while(arduino.isConnected()){
cout<<"Enter your command: "<<endl;
string data;
cin>>data;
char *charArray = new char[data.size() + 1];
copy(data.begin(), data.end(), charArray);
charArray[data.size()] = '\n';
arduino.writeSerialPort(charArray, MAX_DATA_LENGTH);
arduino.readSerialPort(output, MAX_DATA_LENGTH);
cout<<">> "<<output<<endl;
delete [] charArray;
}
return 0;
}
"\\\\.\\COM7"有错误
显示错误消息a value of type "const char *" cannot be used to initialize an entity of type "char *"
当我把它改成const char *port = "\\\\.\\COM7";
SerialPort arduino(port); 显示错误
请帮助我。真的需要一些帮助。谢谢。
【问题讨论】:
-
项目 > 属性 > C/C++ > 语言 > 一致性模式 = “否”。
标签: c++ visual-c++ visual-studio-2017