本人打开一个串口,打算向它写关闭空调的命令,关闭命令为十六进制的0400080804,
我的程序如下:
#define DEV "/dev/ttyUSB0"
int main()
{
int fd = 0; //定义打开串口的标识
char sig_msg[1024] = {0};
char comm[] = "0400080804"; //发送的信息,
ssize_t read_len = 0; //读取信息的长度
fd = open(DEV, O_RDWR | O_NOCTTY | O_NDELAY);
if(-1 == fd) {
std::cout << "can not open serial port, check it please" << std::endl;
return -1;
}
read_len = read(fd, sig_msg, 1024); //读取串口信息
write(fd, comm, strlen(comm)); // 向串口写指令
std::cout << sig_msg << std::endl;
return 0;
}
可是程序运行后空调没有任何反应,请问是如何发送才能让空调正确接收信息,谢谢。