is_thinking 2016-07-09 14:52 采纳率: 66.7%
浏览 1445

linux如何向红外串口写命令?

本人打开一个串口,打算向它写关闭空调的命令,关闭命令为十六进制的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;
}

可是程序运行后空调没有任何反应,请问是如何发送才能让空调正确接收信息,谢谢。

  • 写回答

2条回答

  • devmiao 2016-07-09 14:57
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决