根据资料整理的串口通信库,封装成为了动态库,使用者只需要调用接口即可

使用实例如下:


//接受数据
void CSerialPortCommonLibDemoDlg::OnReceive()
{
    char * str = NULL;
    str = new char[256];
    _port.readAllData(str);

    CString str1((char*)str);
}

void CSerialPortCommonLibDemoDlg::OnBnClickedOk()
{
    // TODO:  在此添加控件通知处理程序代码
    
    //获取所有串口
    list<string> portsList = CSerialPortInfo::availablePorts();
    {
        _port.setPortName(portsList.front().c_str());
        _port.setDebugModel(true);
        _port.setDataBits(DataBits8);//数据位
        _port.setBaudRate(BaudRate9600);//波特率
        _port.setParity(itas109::Parity::ParityNone);//校验位
        _port.setStopBits(StopOne);
        _port.setReadBufferSize(1024);
    }
    _port.close();
    _port.open();
    if (_port.isOpened())
    {
    }
    string str = "AT\r\n";
    _port.writeData(str.c_str(), str.length());
    _port.readReady.connect(this, &CSerialPortCommonLibDemoDlg::OnReceive);
}

测试的时候可以使用vspd工具

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐