mynameisbill2 2015-11-19 09:35 采纳率: 33.3%
浏览 2133
已结题

如何将串口接收到的数据返回给主线程并显示在编辑框中?

小弟用的是serialPort,MFC,怎么才能把串口接收到的数据返回给主线程显示在编辑框中?求大侠帮助!

 void CRBAS_ODBCView::OnButtonSurveyStart()
{
    /**************发数据*********************************/
    SerialPort^ _serialPort = gcnew SerialPort("COM3", 38400, Parity(0), 8, StopBits(1));//设置串口信息
    _serialPort->DataReceived += gcnew SerialDataReceivedEventHandler(DataReceived);
    array<unsigned char>^ SendBuf = {0x01,0xF0,0X01,0X08,0XF9,0X0D};
    if (!_serialPort->IsOpen)
        _serialPort->Open();
    for (int i = 0;i < SendBuf->Length;i++)
    {
        _serialPort->Write(SendBuf, i, 1);
        Sleep(10);
    }
    //Draw();
}
 void CRBAS_ODBCView::DataReceived(Object^ sender, SerialDataReceivedEventArgs^ e)
{
    SerialPort^ _serialPort = (SerialPort^)sender;
    Sleep(100);
    int count = _serialPort->BytesToRead;
    array<unsigned char>^ ReadBuf = gcnew array<unsigned char>(count);
    _serialPort->Read(ReadBuf, 0, count);
    //解析
    double m_dInFlow = (ReadBuf[2] * 65536 + ReadBuf[3] * 256 + ReadBuf[4]) / 1000.000;
    _serialPort->Close();
}
  • 写回答

1条回答 默认 最新

  • havedream_one 2015-11-19 10:22
    关注

    串口接收到数据之后,解析成功之后就给编辑框赋值就行了,可能需要设计两个线程之间的操作

    评论

报告相同问题?

悬赏问题

  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数