毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

MFC串口信号传递给电脑时窗体上的一个文本框颜色发生变化

更新时间:2013-7-11:  来源:毕业论文

MFC串口信号传递给电脑时窗体上的一个文本框颜色发生变化

当有串口信号传递给电脑时,窗体上的一个文本框颜色发生变化!

这是我要实现的功能。

以前有C#、java的基础,到了MFC这里连主函数都找不到~

参考cserialport

配置串口
SetupComm(hCom,1024,1024); //输入缓冲区和输出缓冲区的大小都是1024
 
COMMTIMEOUTS TimeOuts;
//设定读超时
TimeOuts.ReadIntervalTimeout=1000;
TimeOuts.ReadTotalTimeoutMultiplier=500;
TimeOuts.ReadTotalTimeoutConstant=5000;
//设定写超时
TimeOuts.WriteTotalTimeoutMultiplier=500;
TimeOuts.WriteTotalTimeoutConstant=2000;
SetCommTimeouts(hCom,&TimeOuts); //设置超时
 
DCB dcb;
GetCommState(hCom,&dcb);
dcb.BaudRate=9600; //波特率为9600
dcb.ByteSize=8; //每个字节有8位
dcb.Parity=NOPARITY; //无奇偶校验位
dcb.StopBits=TWOSTOPBITS; //两个停止位
SetCommState(hCom,&dcb);
 
PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR);
编辑 删除
描述:一般用CreateFile打开串口后,可以调用GetCommState函数来获取串口的初始配置。要修改串口的配置,应该先修改DCB结构,然后再调用SetCommState函数设置串口 如果通信的速率较高,则应该设置较大的缓冲区。调用SetupComm函数可以设置串行口的输入和输出缓冲区的大小

 


打开串口
C++代码
//同步I/O方式打开串口的示例代码:
 
HANDLE hCom;  //全局变量,串口句柄
hCom=CreateFile("COM1",//COM1口
    GENERIC_READ|GENERIC_WRITE, //允许读和写
    0, //独占方式
    NULL,
    OPEN_EXISTING, //打开而不是创建
    0, //同步方式
    NULL);
if(hCom==(HANDLE)-1)
{
    AfxMessageBox("打开COM失败!");
    return FALSE;
}
return TRUE;
 
 
//重叠I/O打开串口的示例代码:
 
HANDLE hCom;  //全局变量,串口句柄
hCom =CreateFile("COM1",  //COM1口
            GENERIC_READ|GENERIC_WRITE, //允许读和写
            0,  //独占方式
            NULL,
            OPEN_EXISTING,  //打开而不是创建
            FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式
            NULL);
if(hCom ==INVALID_HANDLE_VALUE)
{
    AfxMessageBox("打开COM失败!");
    return FALSE;
}
   return TRUE;
编辑 删除
描述:Win32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打开或创建的 基本上下面这几步就能完成。

1 使用CreateFile函数打开串口
2 使用SetCommMask(hComm, EventMask)设置你要监控的事件,你要监控的应该是EV_RXCHAR等
3 在一个线程中使用 while( WaitCommEvent(hComm, &dwEvtMask, null))监控设定的事件
  并向指定窗口发送消息
4 处理消息

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。