首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么连续读取串口的信息

2012-02-23 
如何连续读取串口的信息如何实现连续的读取串口数据,然后根据收到的数据来进行处理。比如程序一执行就开始

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

[解决办法]
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 取到了 就处理 呵呵 当然如果串口返回数据太快 有没办法处理的情况

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

热点排行