WINCE 串口通信编程

本文介绍如何使用MFC创建基于对话框的串口通信程序,包括串口的打开、读写操作及事件处理等关键步骤,并提供了一个示例程序以帮助理解整个流程。

平台486;
我想用mfc写一个基于对话框的串口通信程序;
用来采集单片机输出数据,该如何实现?
大狭们帮帮忙吧!!指点一下(给个例程也好);谢谢先!
---------------------------------------------------------------
   
1.打开串口:
hSer = CreateFile (TEXT ("COM1:"), GENERIC_READ | GENERIC_WRITE,
                   0, NULL, OPEN_EXISTING, 0, NULL);
2.从串口读数:
INT rc;
DWORD cBytes;
BYTE ch;
   
rc = ReadFile(hSer, &ch, 1, &cBytes, NULL);

3.写数到串口:
INT rc;
DWORD cBytes;
BYTE ch;
   
ch = TEXT ('a');
rc = WriteFile(hSer, &ch, 1, &cBytes, NULL);

4.通过串口事件来引发读操作
DWORD dwMask;
// Set mask and wait.
SetCommMask (hComPort, EV_RXCHAR | EV_ERR);
if (WaitCommEvent (hComPort, &dwMask, 0) {
   
    // Use the flags returned in dwMask to determine the reason
    // for returning.
    Switch (dwMask) {
    case EV_RXCHAR:
        //Read character.
        break;
    case EV_ERR:
        // Process error.
        break;
    }
}
有了这些,写个自己的串口程式就不难了.


  
   
http://community.youkuaiyun.com/Expert/topic/3849/3849602.xml?temp=1.021975E-02

  
 
   
大哥,我想用mfc编,怎么办?

  
   
MFC本身没有串口通讯类
我记得优快云里有一个别人封装好了的MFC串口类,
我下了班帮你找一下,我现在要去上班了.
你也可以通过GOOGLE找一下.
或在这个版块里找一下以前的串口贴子.
会有收获的.快迟到了....

   
串口通讯类,于由代码较长,就给你贴个链接吧

http://www.msale.net/Forum/viewtopic.php?t=2875

  
    
谢谢jiess大哥一直以来的帮忙,还要工作挺辛苦的,不过明年就轮到我啦!
还想请大哥帮下忙,我已经把串口的类添加到我的工程文件中来了,
但我想把他从单片机读进来的数据绘图在另外一个对话框中,
该如何建立他们之间的联系啊?
谢谢!!

  
 
   
1.你可以建一个全局的缓冲区(数组或其它形式的内存块(比如堆)),将这个数组做为一个队列来用.
2.串口每收到一个绘图数据就将它放进缓冲区中.
3.对一个定时器或线程,将缓冲区的数据显示到窗体上.


   
大哥我先把分给你吧!小弟我真怕把你问烦,还望不要取笑!
我也是这样想的,也试了,不过一般是在读数据的时候定义一个数组,
这个应该不是全局的吧?在绘图对话框中用时,报错说没有定义,
说白了,我就是不知道怎么定义一个全局的数组?
如果大哥不介意的话给个email我把程序发过去,有时间帮小弟分析一下.
Anyhow,thank you very much!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值