精华内容
下载资源
问答
  • C++ 串口编程 打开串口
    2021-06-03 14:45:26

    新建windows应用程序commtest。

    commtest.cpp:

    // commtest.cpp: 主项目文件。

    #include "stdafx.h"

    #include "Form1.h"

    #include  //添加头文件

    #include

    using namespace commtest;

    bool openport(char *portname);

    [STAThreadAttribute]

    int main(array<:string> ^args)

    {

    bool open;

    open=openport("com2"); //打开串口2

    // 在创建任何控件之前启用 Windows XP 可视化效果

    Application::EnableVisualStyles();

    Application::SetCompatibleTextRenderingDefault(false);

    // 创建主窗口并运行它

    Application::Run(gcnew Form1());

    return 0;

    }

    bool openport(char *portname)//打开串口

    {

    HANDLE hComm;

    hComm = CreateFile(portname, //串口号

    GENERIC_READ | GENERIC_WRITE, //允许读写

    0, //通讯设备必须以独占方式打开

    0, //无安全属性

    OPEN_EXISTING, //通讯设备已存在

    FILE_FLAG_OVERLAPPED, //异步I/O

    0); //通讯设备不能用模板打开

    if (hComm == INVALID_HANDLE_VALUE)

    {

    CloseHandle(hComm);

    return FALSE;

    }

    else

    return true;

    }

    更多相关内容
  • VC打开串口COM1并设置串口传输速度
  •  通常使用以下函数来通过Windows系统来对外围设备进行通信,做串口方面的程序,使用CreatFile打开串口通信端口。在对串口进行操作之前,需要首先打开串口。使用C++进行串口编程,如果采用VS开发,则可以直接借助于...

    最近在做一个陀螺仪的原始数据读取遇到了串口数据读取问题,在网上查阅了一篇技术文档,觉得写的不错,分享一下!

    1.1前言

            通常使用以下函数来通过Windows系统来对外围设备进行通信,做串口方面的程序,使用CreatFile打开串口通信端口。在对串口进行操作之前,需要首先打开串口。使用C++进行串口编程,如果采用VS开发,则可以直接借助于串口通信控件来操作,其次,也可以直接调用Windows的底层API函数来控制串口通信。

           在Windows的操作系统上,将串口(通信设备)作为文件来处理,所以串口的打开、关闭、读写所使用的API函数与文件操作一样。所以打开串口使用CreateFile函数,读写串口使用ReadFile、WriteFile函数,关闭串口使用CloseHandle函数。查看通信设备的串口,可以在设备管理器中查看。

    1.2  CreateFile

             这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件、文件流、目录、物理磁盘、卷、终端流等。如果执行成功,则返回文件句柄INVALID_HANDLE_VALUE表示出错,会设置GetLastError。

    函数的声明定义:

      HANDLE WINAPI CreateFile(
      _In_      LPCTSTR lpFileName,              
      _In_      DWORD dwDesiredAccess,
      _In_      DWORD dwShareMode,
      _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
      _In_      DWORD dwCreationDisposition,
      _In_      DWORD dwFlagsAndAttributes,
      _In_opt_  HANDLE hTemplateFile
    )

    参数列表: 

    部分参数Tips:

    1. IpFileName:指定要打开的串口逻辑名,用字符串来表示。如COM1,COM2,分别表示串口1和串口2.

    如果要确定工控机上有哪些串口,可以使用设备管理器查看,我的电脑,右键,属性,设备管理器,如下图:

    2. dwDesiredAccess:端口属性的访问类型。

    3. dwShareModel:指定端口的共享属性

              该参数是由那些应用程序共享的文件提供。对于串口来说,是不能共享的,因此,必须设置为0,这是通信设备与文件的特殊差别。

               如果当前的应用程序调用CreateFile打开一个串口,另外一个程序如果已经打开了该串口,此时CreateFile会返回一个错误代码。

              然而,同一个应用程序的多个线程是可以共享CreateFile返回的端口句柄。并且根据安全属性设置,该句柄可以打开端口的应用程序的子程序来继承。

    4. lpSecurityAttributes:安全属性,一般该参数为NULL,即该端口被设置为缺省的安全属性。缺省安全属性下,端口的句柄是不能继承的。

    5. dwCreationDisposition:指定此端口正在被其他程序占用采取的动作,因为串口总是存在的,因此必须设置为OPEN_EXISTing, 该标志高速Windows不要创建新的端口。而是打开一个已经存在的端口。

    6. dwFlagsAndSttributes:描述了端口的各种属性,对于文件来说有很多属性,但是对于串口来说,唯一的意义是FILE_FLAG _OVERLAPPED 属性,当设置该属性时,端口IO可以在后台进行,称为异步IO重叠结构。

    7. hTemplateFile: 指定模板的文件句柄,对于串口来说,此参数必须设置为0

    用CreateFile函数打开串口COM1的例子如下:

    HANDLE hCom;
    DWORD dwError;
    
    hCom=CreateFile("COM1",          //文件名,这里是串口号
                    GENERIC_READ|GENERIC_WRITE,    //允许读和写
                     0,                            //独占方式
                     NULL,                          
                     OPEN_EXISTING,                //打开而不是创建
                     FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,  //异步I/O重叠结构
                     NULL
                     );

    然后还应判断端口是否被正常打开,过程如下:

    if(hCom==INVALID_HANDLE_VALUE)
    {
         dwErrow=GetLastError();  //取得错误代码
    }

    1.3 关闭串口

            关闭串口,使用CloseHandle,函数声明为:

    BOOL CloseHandle(
      HANDLE hObject     //handle to object            
    );

    函数比较简单,参数是使用CreateFile打开的端口句柄。调用这个函数可以实现串口关闭。

    示例如下:

    if(CloseHandle(m_hCom)==0)    //调用该函数关闭串口
    {
        CString strMsg;
        str="关闭串口"+strSel_COM+"失败";
        AfxMessageBox(strMsg);
    }
    else
    {
        CString strMsg;
        strMsg="关闭"+strSel_COM+"成功";
    }

    1.4 ReadFile

          从文件指针指向的位置(设备文件,通信)开始将数据读出到一个文件中, 且支持同步和异步操作,如果文件打开方式没有指明FILE_FLAG_OVERLAPPED的话,当程序调用成功时,它将实际读出文件的字节数保存到lpNumberOfBytesRead指明的地址空间中。FILE_FLAG_OVERLAPPED 允许对文件进行重叠操作。

    BOOL WINAPI ReadFile(
    __in            HANDLE hFile,                 //文件局柄
    __out           LPVOID lpBuffer,              //接收数据用的 buffer
    __in            DWORD  nNumberOfBytesToRead,  //要读取的字节数
    __Out           LPDWORD  lpNumberOfBytesRead, //实际读取的字节数
    __in            LPOVERLAPPED  lpOverlapped    //OVERLAPPED结构,一般设定为NULL
    );

    代码示例:

     1 BOOL Read(char *filePath)
     2 {
     3     HANDLE pFile;
     4     DWORD fileSize;
     5     char *buffer,*tmpBuf;
     6     DWORD dwBytesRead,dwBytesToRead,tmpLen;
     7 
     8     pFile = CreateFile(filePath,GENERIC_READ,          
     9         FILE_SHARE_READ,
    10         NULL,               
    11         OPEN_EXISTING,        //打开已存在的文件 
    12         FILE_ATTRIBUTE_NORMAL, 
    13         NULL);
    14   // 创建设备文件,返回文件的位置
    15     if ( pFile == INVALID_HANDLE_VALUE)
    16     {
    17         printf("open file error!\n");
    18         CloseHandle(pFile);
    19         return FALSE;
    20     }
    21   
    22     fileSize = GetFileSize(pFile,NULL);          //得到文件的大小
    23 
    24     buffer = (char *) malloc(fileSize);
    25     ZeroMemory(buffer,fileSize);
    26     dwBytesToRead = fileSize;
    27     dwBytesRead = 0;
    28     tmpBuf = buffer;
    29 
    30     do{                                       //循环读文件,确保读出完整的文件    
    31 
    32         ReadFile(pFile,tmpBuf,dwBytesToRead,&dwBytesRead,NULL);
    33 
    34         if (dwBytesRead == 0)
    35             break;
    36 
    37         dwBytesToRead -= dwBytesRead;
    38         tmpBuf += dwBytesRead;
    39 
    40         } while (dwBytesToRead > 0);
    41 
    42         //  TODO 处理读到的数据 buffer
    43 
    44     free(buffer);
    45     CloseHandle(pFile);
    46 
    47     return TRUE;
    48 }

    1.5 WriteFile

          将数据写入一个文件(设备文件,通信)。该函数比fwrite函数要灵活的多。也可以将这个函数应用于对通信设备、管道、套接字以及邮槽的处理。返回时,TRUE(非零)表示成功,否则返回零。会设置GetLastError。

    函数声明定义:

    BOOL WINAPI WriteFile(
      __in           HANDLE hFile,                  //文件句柄
      __in           LPCVOID lpBuffer,              //要写入的数据
      __in           DWPRD nNumberOfBytesToWrite,   //要写入的字节数
      __out          LPDWORD lpNumberOfBytesWritten, //实际写入的字节数
      __in           LPOVERLAPPED  lpOverlapped      //OVERLAPPED结构,一般设定为NULL
    );

    示例代码:

    BOOL Write(char *buffer, DWORD contentLen)
    {
         HANDLE pFile;
          char *tmpBuf;
         DWORD dwBytesWrite,dwBytesToWrite;
    
         pFile=CreateFile(filePath,
                          GENERIC_WRITE,
                          0,
                          NULL,
                          CREATE_ALWAYS,
           )
    
          if  ( pFile == INVALID_HANDLE_VALUE)
          {
               printf("create file error!");
               CloseHandle(pFile);
               return FALSE;
          }
           dwBytesToWrite = contentLen;
           dwBytewrite = 0;
    
           tmpBuf = buffer;
    
           do{
                Write(pFile,tmpBuf,dwBytesToWrite,&dwBytesWrite,NULL);
             
                dwBytesToWrite -= dwBytesWrite;
                tmpBuf += dwBytesWrite;
    
               } while(dwBytesToWrite > 0);
    
            CloseHandle(pFile);
    
            return TRUE;
    }

    参考:

    1. http://www.cnblogs.com/findumars/p/5636108.html

    2. https://www.cnblogs.com/icmzn/p/7155856.html?utm_source=itdadao&utm_medium=referral

    3. https://blog.csdn.net/dongpanshan/article/details/7898583

    展开全文
  • 前言做串口方面的程序,使用CreateFile打开串口通信端口。在对串口操作之前,需要首先打开串口。使用C++进行串口编程,如果采用VS开发,则可以直接借助于串口通信控件来操作,其次,直接调用Windows的底层API函数来...

    通常使用下列函数来通过Win系统来对外围设备进行通信处理:

    0. 前言

    做串口方面的程序,使用CreateFile打开串口通信端口。在对串口操作之前,需要首先打开串口。使用C++进行串口编程,如果采用VS开发,则可以直接借助于串口通信控件来操作,其次,直接调用Windows的底层API函数来控制串口通信。

    在Window 32bit 的操作系统上, 将串口(通信设备)作为文件来处理,所以串口的打开、关闭、读写所使用的API函数与文件操作一样。所以打开串口使用CreateFile函数,读写串口使用ReadFile、WriteFile,函数。关闭串口使用CloseHandle函数。

    1. 查看通信串口设备,可以在设备管理器中查看;

    2.

    -------------------------------

    1. CreateFile

    这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件、文件流、目录、物理磁盘、卷、终端流等。如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。

    函数的声明定义:

    HANDLE WINAPI CreateFile(

    _In_ LPCTSTR lpFileName,

    _In_ DWORD dwDesiredAccess,

    _In_ DWORD dwShareMode,

    _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,

    _In_ DWORD dwCreationDisposition,

    _In_ DWORD dwFlagsAndAttributes,

    _In_opt_ HANDLE hTemplateFile

    );

    参数列表:

    286be2daeb84172cd190403f253c85f9.png

    部分参数Tips:

    1. lpFileName:指定要打开的串口逻辑名,用字符串来表示。如COM1, COM2,分别表示串口1,和串口2.

    如果要确定工控机上有那些串口,可以使用设备管理器查看。如下图:

    2ce3017ec9111d046764a8880c7edf15.png

    查看方式如下图:我的电脑,右键, 开发“设备管理器”即可。

    40d5bfde82e02f3ef2a1f86daebec7b7.png

    2. dwDesiredAccess:端口属性的访问类型,

    3.  dwShareMode:指定端口的共享属性。

    该参数是由那些应用程序共享的文件提供。对于串口来说,是不能共享的,因此,必须设置为0,这是通信设备与文件的特殊差别。

    如果当前的应用程序调用CreateFile打开一个串口,另外一个程序如果已经打开了该串口,此时CreateFile会返回一个错误代码。

    然而,同一个应用程序的多个线程是可以共享CreateFile返回的端口句柄。并且根据安全属性设置,该句柄可以打开端口的应用程序的子程序来继承。

    4. lpSecurityAttributes:安全属性,一般该参数为NULL,即该端口被设置为缺省的安全属性。缺省安全属性下,端口的句柄是不能继承的。

    5. dwCreationDisposition:指定此端口正在被其他程序占用采取的动作,因为串口总是存在的,因此必须设置为OPEN_EXISTing, 该标志高速Windows不要创建新的端口。而是打开一个已经存在的端口。

    ,  6. dwFlagsAndSttributes:描述了端口的各种属性,对于文件来说有很多属性,但是对于串口来说,唯一的意义是FILE_FLAG _OVERLAPPED 属性,当设置该属性时,端口IO可以在后台进行,称为异步IO重叠结构。

    7. hTemplateFile: 指定模板的文件句柄,对于串口来说,此参数必须设置为0;

    6d314d3b947c3342b0f47c3a352c8e56.png

    关闭串口

    关闭串口,使用CloseHandle,函数声明为:

    5bc587fb51d46f2ff2f91204a3cb36f8.png

    函数很简单,参数是使用CreateFile打开的端口句柄。调用这个函数可以实现串口关闭。

    示例如下:

    2376aec485f9ca427c43319fe8c020c3.png

    2. ReadFile

    从文件指针指向的位置(设备文件,通信)开始将数据读出到一个文件中, 且支持同步和异步操作,如果文件打开方式没有指明FILE_FLAG_OVERLAPPED的话,当程序调用成功时,它将实际读出文件的字节数保存到lpNumberOfBytesRead指明的地址空间中。FILE_FLAG_OVERLAPPED 允许对文件进行重叠操作。

    函数声明定义:

    BOOL WINAPI ReadFile(

    __in HANDLE hFile,//文件句柄

    __out LPVOID lpBuffer, //接收数据用的 buffer

    __in DWORD nNumberOfBytesToRead, //要读取的字节数

    __out LPDWORD lpNumberOfBytesRead, //实际读取到的字节数

    __in LPOVERLAPPED lpOverlapped //OVERLAPPED 结构,一般设定为 NULL

    );

    代码示例:、

    1 BOOL Read(char *filePath)2 {3 HANDLE pFile;4 DWORD fileSize;5 char *buffer,*tmpBuf;6 DWORD dwBytesRead,dwBytesToRead,tmpLen;7

    8 pFile =CreateFile(filePath,GENERIC_READ,9 FILE_SHARE_READ,10 NULL,11 OPEN_EXISTING, //打开已存在的文件

    12 FILE_ATTRIBUTE_NORMAL,13 NULL);14   // 创建设备文件,返回文件的位置

    15 if ( pFile ==INVALID_HANDLE_VALUE)16 {17 printf("open file error!");18 CloseHandle(pFile);19 returnFALSE;20 }21

    22 fileSize = GetFileSize(pFile,NULL); //得到文件的大小

    23

    24 buffer = (char *) malloc(fileSize);25 ZeroMemory(buffer,fileSize);26 dwBytesToRead =fileSize;27 dwBytesRead = 0;28 tmpBuf =buffer;29

    30 do{ //循环读文件,确保读出完整的文件

    31

    32 ReadFile(pFile,tmpBuf,dwBytesToRead,&dwBytesRead,NULL);33

    34 if (dwBytesRead == 0)35 break;36

    37 dwBytesToRead -=dwBytesRead;38 tmpBuf +=dwBytesRead;39

    40 } while (dwBytesToRead > 0);41

    42 //TODO 处理读到的数据 buffer

    43

    44 free(buffer);45 CloseHandle(pFile);46

    47 returnTRUE;48 }

    3. WriteFile

    将数据写入一个文件(设备文件,通信)。该函数比fwrite函数要灵活的多。也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理。返回时,TRUE(非零)表示成功,否则返回零。会设置GetLastError。

    函数声明定义:

    BOOL WINAPI WriteFile(

    __in HANDLE hFile,//文件句柄

    __in LPCVOID lpBuffer, //要写入的数据

    __in DWORD nNumberOfBytesToWrite, //要写入的字节数

    __out LPDWORD lpNumberOfBytesWritten, //实际写入的字节数

    __in LPOVERLAPPED lpOverlapped //OVERLAPPED 结构,一般设定为 NULL

    );

    示例代码:

    1 BOOL Write(char *buffer, DWORD contentLen)2 {3 HANDLE pFile;4 char *tmpBuf;5 DWORD dwBytesWrite,dwBytesToWrite;6

    7 pFile =CreateFile(filePath,GENERIC_WRITE,8 0,9 NULL,10 CREATE_ALWAYS, //总是创建文件

    11 FILE_ATTRIBUTE_NORMAL,12 NULL);13

    14 if ( pFile ==INVALID_HANDLE_VALUE)15 {16 printf("create file error!");17 CloseHandle(pFile);18 returnFALSE;19 }20

    21 dwBytesToWrite =contentLen;22 dwBytesWrite = 0;23

    24 tmpBuf =buffer;25

    26 do{ //循环写文件,确保完整的文件被写入

    27

    28 WriteFile(pFile,tmpBuf,dwBytesToWrite,&dwBytesWrite,NULL);29

    30 dwBytesToWrite -=dwBytesWrite;31 tmpBuf +=dwBytesWrite;32

    33 } while (dwBytesToWrite > 0);34

    35 CloseHandle(pFile);36

    37 returnTRUE;38 }

    参考博客:

    打开Usb

    endl;

    展开全文
  • linux c++ 简单串口通信

    2013-03-24 22:47:44
    一个linux下利用com口 本机发送本机接受数据的简单例子。运行程序前要先切换本机com。本文件只包含src部分。
  • C++打开虚拟串口失败

    2019-10-24 23:09:38
    转自:https://blog.csdn.net/baidu_37503452/article/details/87004621 // get a handle to the port m_hComm = CreateFile(_T("\\.\COM11"), // communication port string ...GENERIC_READ | GENERIC_WRITE,...

    转自:https://blog.csdn.net/baidu_37503452/article/details/87004621

     

    // get a handle to the port
    m_hComm = CreateFile(_T("\\.\COM11"), // communication port string (COMX)
    GENERIC_READ | GENERIC_WRITE, // read/write types
    0, // comm devices must be opened with exclusive access
    NULL, // no security attributes
    OPEN_EXISTING, // comm devices must use OPEN_EXISTING
    FILE_FLAG_OVERLAPPED, // Async I/O
    0); // template must be 0 for comm devices
    if (m_hComm == INVALID_HANDLE_VALUE)
    {
    // port not found
    delete [] szPort;
    delete [] szBaud;
    return FALSE;
    }
    com10以上,CreateFile的第一个参数要变成\\.\ + COM11
    在这里插入图片描述

    展开全文
  • c++ 串口打开,关闭串口,读写,取得串口列表
  • 1、串口打开与关闭BOOL HsMyComm::IsMyCommOpen(){ return (hCom==INVALID_HANDLE_VALUE?FALSE:TRUE);}BOOL HsMyComm::CloseMyComm(){ if ( hCom!=INVALID_HANDLE_VALUE ) { ::CloseHandle(hCom); hC...
  • 常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和...
  • Linux下使用C/C++获取可用串口
  • c++串口通信linux版

    千次阅读 2020-04-22 11:09:30
    linux中"一切皆文件",对文件/dev/ttysn操作就是对串口操作 ...* 功能: 打开串口并返回串口设备文件描述 * 入口参数: (ttyS0,ttyS1,ttyS2) * 出口参数: 正确返回为文件描述符,错误返回为-1 **...
  • C++串口编程

    万次阅读 多人点赞 2018-06-03 13:08:40
    // 打开串口 void closeComm(); // 关闭串口 bool writeToComm(BYTE data[], DWORD dwLegnth); // 发送数据 bool readFromComm(char buffer[], DWORD dwLength); // 读取数据 private: ...
  • Windows下C++串口通信

    2018-01-23 09:30:39
    windows下c++串口通信,包括串口打开、SCB设定、串口事件设定、收发等
  • windows下C++读取串口数据

    万次阅读 2018-10-15 10:08:17
    windows下C++读取串口数据 这里提供一个类: SerialPort.h #pragma once #ifndef SERIALPORT_H_ #define SERIALPORT_H_ #include &lt;Windows.h&gt; #include"DataFrame.h" /** ...
  • 串口通信SerialPort类c++

    2019-07-19 12:19:47
    串口通信SerialPort类C++实现发送接收,代码完整,线程运行,正常无乱码,可用于核心代码学习,提取类库使用。
  • Visual C++打开10以上串口的方法

    千次阅读 2017-09-15 10:37:53
    如下所示(注意转义符): // prepare port strings sprintf(szPort, "COM%d", portnr); sprintf(szBaud, "baud=%d parity=%c data=%d stop=%d", baud, parity, databits, stopbits); ...{/*大于10以上需要加上\\
  • linux(C++代码)获取可用串口并输出

    千次阅读 2021-12-23 16:02:19
    我用的是usb串口,也可以自己改成自己需要获取的串口 std::vector<std::string> list; for(int i = 0; i < 256; ++i) { port.clear(); port.append("/dev/ttyUSB"); port.append(std::to_...
  • c++读写串口

    千次阅读 2021-05-11 09:29:34
    在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为...
  • linux c++串口数据解码 ros

    千次阅读 2020-12-19 18:33:51
    Linux串口编程主要流程 :1、open打开串口设备,获取串口设备文件描述符(Linux一切都是文件)-->2、设置set波特率,初始化ini等-->3、对数据解码-->4、read()、write()操作文件描述符进行串口通信 在...
  • C++串口通讯

    千次阅读 2020-05-30 23:00:58
    C++ 串口操作简介代码头文件源码文件示例创建两个虚拟串口串口调试助手连接COM2来接数据编写测试代码发送数据结果总结 简介 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信...
  • C++串口写入数据

    2013-09-09 20:45:06
    程序查找与计算机相连的串口(程序中是PL2302),如果找到,则打开串口。 读取鼠标所在点的像素,将其RGB值发送给串口。 有图形界面对相关参数进行选择。 对串口开发有兴趣的同学有一定的帮助。
  • vs c++ 串口接收代码

    2020-03-25 09:21:24
    } printf("打开串口成功\n"); //printf("\n输入新建文件的路径\n\n"); string lol= argv[2]; //cin >> lol; pathConvert_Single2Double(lol); cout ; GetCommState(hCom, &dcb); //printf("BaudRate is %...
  • **主要函数//打开串口的模式 CreateFile 创建(串口名称,打开串口的模式,不公开,默认,打开,默认,默认) ReadFile 读 (文件句柄,接收缓存,接收多少,存放缓存里面具体字节) WriteFile 写(文件句柄,要写入的东西,要写入...
  • 在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信,串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工,只能由作为...
  • C++与Qt环境下串口开发调试

    千次阅读 2019-03-01 17:47:24
    最近项目需要,针对VS2013 + Qt环境下,进行串口通讯。研究了一下,先简单做了个demo测试一下,Qt下串口是否好使。 不多说,上代码: //查找可用串口 foreach(const QSerialPortInfo &amp;amp;info, ...
  • vc/c++串口通信

    2020-04-02 17:00:39
    当用户打开该应用程序后,可以选择将打开的串口号,程序默认为“COM1”,然后选择波特率等。若用户计算机上的相应串口处于使用中等特殊情况下,程序会弹出“Invalid Port Number”的错误对话框。该情况下,用户应该...
  • Windows下C++ 串口编程实例

    万次阅读 多人点赞 2016-02-23 15:01:09
    /** 打开串口 * * * @param: UINT portNo 串口设备号 * @return: bool 打开是否成功 * @note: * @see: */ bool openPort(UINT portNo); /** 关闭串口 * * * @return: void 操作是否成功 * @note: * ...
  • linux c/c++串口通信

    千次阅读 2018-09-02 17:59:19
    /*串口设备无论是在工控领域,还是在嵌入式设备领域,应用...具体的封装格式为C代码,这样做是为了很好的移植性,使它可以在C和C++环境下, 都可以编译和使用。代码的头文件如下: */ ///////////////////////////...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,715
精华内容 3,886
关键字:

c++打开串口

c++ 订阅