zoukankan      html  css  js  c++  java
  • 以文件方式操作串口

    /////////////打开
    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_);//关闭

  • 相关阅读:
    vim使用
    .net程序员转java之mybatis学习
    Redis 学习笔记
    Effective C# 笔记01
    Android 开发感想
    入职两个月,WPF开发感想
    Oracle 学习笔记二
    Oracle 开发使用笔记一
    Java 集合——Map集合
    Java 集合——Set集合
  • 原文地址:https://www.cnblogs.com/ahuo/p/606523.html
Copyright © 2011-2022 走看看