读书人

怎么连续读取串口的信息

发布时间: 2012-02-23 22:01:35 作者: rapoo

如何连续读取串口的信息
如何实现连续的读取串口数据,然后根据收到的数据来进行处理。比如程序一执行就开始接受串口数据,当有串口接到数据后就执行一段代码实现功能,当程序关闭就退出,这样只要程序开着就一直接收串口数据,然后作出处理,谢谢

[解决办法]
UnitMain.h

C/C++ code
//---------------------------------------#ifndef UnitMainH#define UnitMainH//---------------------------------------#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#include <Forms.hpp>#include <Dialogs.hpp>#include <ComCtrls.hpp>#include "MSCommLib_OCX.h"#include <OleCtrls.hpp>//---------------------------------------class TFormMain : public TForm{__published:    // IDE-managed Components    TGroupBox *GroupBox1;    TGroupBox *GroupBox2;    TRichEdit *RichEdit1;    TRichEdit *RichEdit2;    TMSComm *MSComm1;    void __fastcall FormCreate(TObject *Sender);    void __fastcall MSComm1Comm(TObject *Sender);    void __fastcall RichEdit1KeyPress(TObject *Sender, char &Key);private:    // User declarations    AnsiString MyInput;public:        // User declarations    __fastcall TFormMain(TComponent* Owner);protected:};//---------------------------------------extern PACKAGE TFormMain *FormMain;//---------------------------------------#endif
[解决办法]
HAIQIAN 我想你咯

呵呵

给楼主个思路

用BCB 的多线程模块 创建一个到N个线程 每个线程负责处理不同串口返回的数据

接受后 将数据在对应的线程中处理好 ,然后提交给主线程(也就是窗口啦)

然后显示出来 就可以啦 线程开启后 是一直FOR(;;)的哦 一直等待串口数据发送来就行了

一直让串口ReadFile 取到了 就处理 呵呵 当然如果串口返回数据太快 有没办法处理的情况

你就要采取丢包的方法咯 祝你好运气哈

读书人网 >C++ Builder

热点推荐