动态库,CSerialPort串口类 响应事件
我用VC6.0建了一个MFC 的动态库,使用了CSerialPort串口类,在此动态库中用串口进行通信,经测试能正
常打开串口,关闭串口,也能发送串口数据,现在关键的是不能得到串口响应接收数据事件。响应函数全部
建好了,以前在对话框中使用过一切都好,但放此动态库中就不能响应此消息,不知为什么,怎么样能让
此类在动态库中也响应EV_RXFLAG | EV_RXCHAR;此事件呢。请大家帮忙看看,谢谢
afx_msg LRESULT OnCommunication(WPARAM ch,LPARAM port);
ON_MESSAGE(WM_COMM_RXCHAR,OnCommunication)
已放合适位置,。
//打开串口的程序
CWnd* pWnd = AfxGetApp()->GetMainWnd();
if (m_SerialPort.InitPort(pWnd, m_nCom,m_nBaud,m_cParity,m_nDatabits,m_nStopbits,m_dwCommEvents,512))
{
m_SerialPort.StartMonitoring();
m_bOpenPort = true;
return 1;
}
常打开串口,关闭串口,也能发送串口数据,现在关键的是不能得到串口响应接收数据事件。响应函数全部
建好了,以前在对话框中使用过一切都好,但放此动态库中就不能响应此消息,不知为什么,怎么样能让
此类在动态库中也响应EV_RXFLAG | EV_RXCHAR;此事件呢。请大家帮忙看看,谢谢
afx_msg LRESULT OnCommunication(WPARAM ch,LPARAM port);
ON_MESSAGE(WM_COMM_RXCHAR,OnCommunication)
已放合适位置,。
//打开串口的程序
CWnd* pWnd = AfxGetApp()->GetMainWnd();
if (m_SerialPort.InitPort(pWnd, m_nCom,m_nBaud,m_cParity,m_nDatabits,m_nStopbits,m_dwCommEvents,512))
{
m_SerialPort.StartMonitoring();
m_bOpenPort = true;
return 1;
}
...全文
相关推荐
PJ Naughter写的经典串口类CSerialPort
**事件处理**:CSerialPort类支持串口事件的注册和处理,如数据到达、端口状态改变等。通过SetCommMask和WaitCommEvent函数,开发者可以创建实时响应串口事件的程序。5.
VC++6.0开发RFID上位机:串口通信与MFC工业级实践
RFID上位机是工业自动化中连接读写器与管理系统的枢纽,其核心在于稳定可靠的串口通信与轻量级UI交互。基于Win32 API的底层串口控制可绕过系统波特率限制,适配老旧RFID设备(如Impinj、Zebra)的非标协议;MFC对话框框架凭借模态机制与控件事件绑定,天然支撑‘连接-读取-显示-存盘’四步操作流。技术价值体现在零依赖EXE部署、毫秒级实时响应及Access轻量数据库集成,广泛应用于产线改造、教学实验与嵌入式维护场景。本文聚焦VC++6.0这一特定环境下的工程落地,涵盖CSerialPort集成
可以在控制台使用的串口类 CSerialPort
- **异步通信**:支持异步读写,允许在等待数据的同时执行其他任务,提高程序的响应速度。 - **事件驱动**:提供了丰富的事件回调机制,如数据到达、连接状态改变等,方便用户根据业务逻辑进行处理。
CSerialPort轻量级跨平台串口类库.zip
**事件通知**:通过事件回调机制,开发者可以获取到串口状态改变(如连接断开、数据到达等)的通知,便于实时响应。6.
串口类 需要的拿走
**事件驱动编程**:串口类可能使用事件(如DataReceived事件)来处理接收到的数据,这样可以在数据到达时实时触发回调函数,而不是阻塞等待。3.


