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

问题描述

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

小弟用的是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();
}

解决方案

|在编辑框中显示数据|

解决方案二:

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

时间: 2024-12-10 09:47:10

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

串口显示-串口接收到的数据如何显示在编辑框中显示出来?

问题描述 串口接收到的数据如何显示在编辑框中显示出来? 你好 在帖子中看到你回答"串口接收到的数据如何显示在编辑框中显示出来?"这类的问题.本人初学者也遇到这个问题,对于这个问题很头疼,你能抽空指点下么?最好有完整写. 十分感谢! 解决方案 先用串口读取数据,然后就是调用API操作控件显示了SetWindowText

串口通信-C# 如何过滤串口接收到的数据

问题描述 C# 如何过滤串口接收到的数据 我在已经做了一个串口调试工具 接收GPS接收机上的各项数据 我想过滤调一些不必要的数据 请问怎么在输出前给过滤掉再输入到文本框中 例如:接收到的数据(如下) 我只想输出$GPGGA 然后过滤掉$GNGSA $GPGST $GPGSV $GPGGA,024830.00,2307.3027560,N,11221.9341760,E,7,23,0.6,28.4880,M,-6.652,M,99,AAAA*7C $GNGSA,M,3,23,31,19,03,13

vc-VC++ 串口接收到大量数据 EDIT控件刷新速度跟不上

问题描述 VC++ 串口接收到大量数据 EDIT控件刷新速度跟不上 当串口接收到大量的数据的时候,EDIT控件做为显示数据,但是EDIT的刷新速度跟不上,在串口停止发送后好长时间,,EDIT的数据才能显示完成 波特率是115200的,有什么办法把刷新速度提上去吗? 解决方案 你要用异步,接收到后,不要处理,先放到内存保留,后台开一个线程,逐条处理,处理完一条就通知界面显示 解决方案二: 可以放在字符串变量中,然后每收到多少数据再更新一次界面. 解决方案三: 收发数据用一个单独的线程,主线程只处理

通过蓝牙(串口/蓝牙网关)的数据,在平板电脑上的显示数据图

问题描述 通过蓝牙(串口/蓝牙网关)的数据,在平板电脑上的显示数据图 本人现在做一份有关蓝牙数据在平板电脑哦上显示数据的报告,需要一份完整的程序,求好心人帮忙,谢谢

vc++6.0mfc-vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!

问题描述 vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中! vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!我'是个新手,请求详解! 解决方案 添加编辑框,组合框 ctrl+w映射两个成员变量,一个对应编辑框(比如m_edit1),一个对应组合框(比如m_combo1),添加一个按钮. 双击按钮,编写 UpdateData(true); m_combo1.AddString(m_edit1); 解决方案二: 大神

在点击dataGridview 控件中的数据时,如何显示在文本框中?

问题描述 在点击dataGridview控件中的数据时,如何显示在文本框中? 解决方案 解决方案二:在cellclik事件中把只取出来传给TextBox就行了privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse){TextBox1.Text=this.dataGridView1.Rows[1].Cells[1].Value.ToString().Trim();} 解决方案三:privatevoidda

请问各位大神,在c#串口通讯中,怎么把接收到的数据保存在Excel表格中?

问题描述 请问各位大神,在c#串口通讯中,怎么把接收到的数据保存在Excel表格中? 本人最近做一个项目时需要把串口接收到的数据进行分析,数据量较大,比如5秒钟保存一次,连续工作一天,本人刚接触c#,串口通讯协议已写好,现在的问题是怎么把数据保存在Excel表格中以便分析?各位大神有没有用C#做过项目,求指教,最好有源代码!本人刚进论坛,没分,如果满意的话以后再补给你!!!!!!!!!急!!!!!! 解决方案 C#操作Excel(创建.打开.读写.保存)几种方法的总结 C#基于微软EXCEL类库

串口类。自动接收到的数据。 怎么传到窗口上啊

问题描述 .NET里面有个串口控件.我没有使用...自已定义了一个类.因为要和多串口通信.用很多那个控件感觉不好.所以...问题是这样的.串口类里面接收到数据了.怎么在把这个数据反回给窗口呢..!以前我用VB写过思路是在类中定义一个事件然后串口接收事件收到数据后引发定义的事件,并把收到的数据传到定义的事件的参数里面然后.在窗口中调用此类时.就有自定义的那个事件.就是收到数据自已发生事件///////////////////////////////////////////////////////现

C#中Chart控件怎么将串口接收的数据绘制在雷达图上

问题描述 使用Chart控件将串口接收到的数据实时绘制在雷达图上,也就是极坐标形式的图,坐标分别是角度(360度)和电压,接收到的数据已经可以在TextBox中看到了,不知道接下去的代码要怎么写. 解决方案 本帖最后由 u012482436 于 2014-09-06 20:45:42 编辑解决方案二:textBox1.Text=sb.ToString();stringyValue=textBox1.Text;stringxValue=textBox1.Text;chart1.Series["Se