问题描述如下: MFC基于Dialog,编写MSComm串口程序。 主对话框 A 有一个按钮,点击该按钮时弹出另一个对 5
问题描述如下:MFC基于Dialog,编写MSComm串口程序。主对话框A有一个按钮,点击该按钮时弹出另一个对话框B,在B对话框中处理串口收发数据,发送数据没问题,但无法...
问题描述如下:
MFC基于Dialog,编写MSComm串口程序。
主对话框 A 有一个按钮,点击该按钮时弹出另一个对话框B,在B对话框中处理串口收发数据,发送数据没问题,但无法接收数据,不是语法的错,我不知道,是不是只能在主对话框中添加OnCommMSmComm()函数才能接收数据?
我试过在主对话框添加串口程序,在B对话框中调用A中的串口程序收发数据,但无法实现,我只好把串口程序移到B对话框中,但出现只能发送数据不能接收数据。
串口接收到的数据只能传递到主对话框还是需要做其他的改动???
请教高手帮帮忙,谢谢了。
在线等。 展开
MFC基于Dialog,编写MSComm串口程序。
主对话框 A 有一个按钮,点击该按钮时弹出另一个对话框B,在B对话框中处理串口收发数据,发送数据没问题,但无法接收数据,不是语法的错,我不知道,是不是只能在主对话框中添加OnCommMSmComm()函数才能接收数据?
我试过在主对话框添加串口程序,在B对话框中调用A中的串口程序收发数据,但无法实现,我只好把串口程序移到B对话框中,但出现只能发送数据不能接收数据。
串口接收到的数据只能传递到主对话框还是需要做其他的改动???
请教高手帮帮忙,谢谢了。
在线等。 展开
2个回答
展开全部
2个办法
1,在b窗体上进行打开串口,发送数据、接收显示等一系列动作,a就是个启动界面,跟任何业务逻辑没有关系。
2.如果目前是a负责打开串口,发送,接收,但要在b上显示,那a接收到数据后,通过a向b发送自定义消息,b来显示,或者a调用b的某个函数,把值传过去显示。
因为如果a窗体用控件对串口进行了打开,那么就是a负责相应消息循环,跟b没有关系了。建议你用一个窗体负责打开,发送/接收 ,关闭等一系列动作,否则,还得检查窗体状态,更新显示,发送消息等等,浪费功夫,如果是学习,另当别论。
1,在b窗体上进行打开串口,发送数据、接收显示等一系列动作,a就是个启动界面,跟任何业务逻辑没有关系。
2.如果目前是a负责打开串口,发送,接收,但要在b上显示,那a接收到数据后,通过a向b发送自定义消息,b来显示,或者a调用b的某个函数,把值传过去显示。
因为如果a窗体用控件对串口进行了打开,那么就是a负责相应消息循环,跟b没有关系了。建议你用一个窗体负责打开,发送/接收 ,关闭等一系列动作,否则,还得检查窗体状态,更新显示,发送消息等等,浪费功夫,如果是学习,另当别论。
追问
您好,感谢您的回答。 我对程序做了一些改动,在a对话框中加入了串口控件com_a负责a对话框收发数据;通过a的一个按钮弹出b,在b对话框中再创建控件com_b负责b对话框的收发数(com_a和com_b不同时使用);使用结果为,a中的com_a,收发数据都没问题,但在b中能发送数据不能接收数据,串口收到数据后没触发com_b的OnCommCMSComm()消息响应函数,请问对com_b的响应函数该怎么写?写在b对话框函数的什么地方?感谢您帮忙,谢谢。
追答
你b窗体的com_b的RThresHold默认设置是0吗?至少是1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询