• 以文件方式操作串口


    /////////////打开
    HANDLE handlePort_ = CreateFile("COM1",  // 端口设备: 默认 "COM1"
    GENERIC_READ | GENERIC_WRITE,       // 设备打开模式: 允许读写
    0,                                  // 不共享
    NULL,                               // 默认安全设置
    OPEN_EXISTING,                      // 打开方式:打开已经存在的端口
    0,                                  // 默认
    NULL);                           // 默认

    DCB config_,d;
    config_.BaudRate = 600;  // 波特率
    config_.StopBits = 1;  // 停止位
    config_.Parity = 0;      // 奇偶校验
    config_.ByteSize = 8;  // 数据位
    SetCommState(handlePort_,&config_);

    COMMTIMEOUTS comTimeOut;
      
    // 接收时,两字符间最大的时延
    comTimeOut.ReadIntervalTimeout = 3;

    // 读取每字节的超时
    comTimeOut.ReadTotalTimeoutMultiplier = 3;

    // 读串口数据的固定超时
    // 总超时 = ReadTotalTimeoutMultiplier * 字节数 + ReadTotalTimeoutConstant
    comTimeOut.ReadTotalTimeoutConstant = 2;

    // 写每字节的超时
    comTimeOut.WriteTotalTimeoutMultiplier = 3;

    // 写串口数据的固定超时
    comTimeOut.WriteTotalTimeoutConstant = 2;

    // 将超时参数写入设备控制

    SetCommTimeouts(handlePort_,&comTimeOut);
    char buf[64];
    LPOVERLAPPED ll;
    unsigned long length;
    if (////////////////////////////////////////////////////////////////发送
     WriteFile(handlePort_,     // 文件句柄
          buf,              // 数据缓冲区指针
          64,              // 字节数
       &length,NULL) == 0)          // 接收成功发送数据长度的指针
    {
          AfxMessageBox("Reading of serial communication has problem.");
        
    }
    CloseHandle(handlePort_);//关闭

  • 相关阅读:
    Hadoop压缩
    Hive数据倾斜总结
    DQL、DML、DDL、DCL
    HashMap/HashSet,hashCode,哈希表
    HashMap详解
    Hive分区和桶
    String不可变StringBuffer可变
    Java线程和守护进程
    Ambari安装小记
    P3
  • 原文地址:https://www.cnblogs.com/ahuo/p/606523.html
Copyright © 2020-2023  润新知