liulinfeng 发表于 2011-4-3 09:02:55

VC++ 用CSerialPort开发串口问题

我的程序是主对话框ADlg里面放一个TAB标签,在TAB标签上挂两个子对话框BDlg和CDlg。
我在主对话框ADlg和子对话框BDlg,CDlg里都要用到串口
我的做法如下:
1.我在主ADlg里面打开串口
2.当我的子对话框BDlg需要发送信息的时候得到主对话框ADlg的指针,调用ADlg里的
串口
2.当我的子对话框CDlg需要发送信息的时候得到主对话框ADlg的指针,调用ADlg里的
串口

现在问题是:
主对话框ADlg自身通过CSerialPort类(主对话框内定义了CSerialPort m_CSerialPort)去发送和接受数据都没问题,但是子对话框BDlg通过得到主对话框ADlg的指针Maindlg->m_CserialPort.WriteToPort就出错了
出错原因是这句assert(m_hcom!=0),出错时m_hcom=0;

请各位大侠帮忙啊!

bqmcu 发表于 2011-4-4 18:59:37

回复【楼主位】liulinfeng
-----------------------------------------------------------------------

最简单也是最笨的方法是定义一个全局CSerialPort类变量,然后所有对话框都可以直接用。

xinxin3219 发表于 2011-4-11 10:35:32

回复【楼主位】liulinfeng
-----------------------------------------------------------------------
LZ能把CSerialPort类的CPP和.h文件发我邮箱一份吗,我网上下载了好几个都有问题,纠结死了
871317392@qq.com,拜托了

huxiaoping 发表于 2011-11-16 00:15:30

CSerialPort 类自动接收做的很好,适合做调试助手类的工具,但是一问一答的话好像不太爽

noodlest 发表于 2011-11-26 10:08:03

肯定是调用时机太早,Maindlg->m_CserialPort为空,所以Maindlg->m_CserialPort.WriteToPort就错了。
大家好,这是我的第10个回复。希望管理员不要删我号。

kinsno 发表于 2017-10-2 08:21:43

huxiaoping 发表于 2011-11-16 00:15
CSerialPort 类自动接收做的很好,适合做调试助手类的工具,但是一问一答的话好像不太爽 ...

它和那个cnComm类比较咋样?



页: [1]
查看完整版本: VC++ 用CSerialPort开发串口问题