注册 登录
编程论坛 C++教室

c++读取串口数据,串口已打开,但是读取数据函数,参数不知道填写什么

新麦互联 发布于 2021-11-20 19:44, 1302 次点击
c++读取串口数据,串口已打开,另一个口也发送了数据,但是读取数据函数,参数不知道填写什么

函数主体
程序代码:
DWORD CPSerialPort::ReadPort(char *data,int length)
{
    BOOL fReadState;
    DWORD dwLength,dwBytesRead;
    int TimeOutCount;

    dwBytesRead=0;
    TimeOutCount=0;
   
    while(m_hComm!=INVALID_HANDLE_VALUE)
    {
        char* buf=new char[length];
        fReadState=ReadFile(m_hComm,data,length,&dwLength,NULL);
        if(!fReadState)
        {
            break;
        }
        else
        {
            dwBytesRead+=dwLength;
            data+=dwLength;            
        }
        if(dwBytesRead==length)
        {
            break;
        }
        if(dwLength!=0)
        {
            TimeOutCount=0;
        }
        else
        {
            TimeOutCount++;
            Sleep(5);
        }
        if(TimeOutCount==5)
        {
            break;
        }
    }
    return dwBytesRead;
}


调用函数
程序代码:

CPSerialPort ck;
bool hcom =ck.OpenPort(_T("COM2:"),9600,8,0,0);
if(hcom)
{
ck.ReadPort(这里不知道填写什么);
}


[此贴子已经被作者于2021-11-20 19:46编辑过]

1 回复
#2
林月儿2021-11-20 20:29
程序代码:
#include <iostream>
using namespace std;

void aa(char *data,int length){
    cout<<data<<","<<length<<endl;   
}


int main() {
    aa("test",2);
    return 0;
}
1