yachli
驱动小牛
驱动小牛
  • 注册日期2004-04-12
  • 最后登录2016-03-08
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2005-02-23 17:12
[quote]新麻烦出现,读共享内存后串口通讯就彻底中断
郁闷ing..........

哪里的共享内存? [/quote]

发送端
int nDataLength=sizeof(ExpRCInterface::GetInstance()->m_tagRCIO);
            hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,nDataLength,\"MYSHAREDATA\");
MapViewOfFile(.....)
memcpy(lpData,&ExpRCInterface::GetInstance()->m_tagRCIO,nDataLength);
//tell receiver the struct has been modified
pWnd->PostMessage(WM_COMM_MESSAGE,1,nDataLength);
接收端:
int nDataLength=sizeof(ExpRCInterface::GetInstance()->m_tagRCIO);
            hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,nDataLength,\"MYSHAREDATA\");
MapViewOfFile(.....)
memcpy(&ExpRCInterface::GetInstance()->m_tagRCIO,lpData,lParam);
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2005-02-23 18:35
应该不会,我在一些产品中就有同时访问共享内存和串口,也没有发现你这样的问题。

[quote][quote]新麻烦出现,读共享内存后串口通讯就彻底
中断
郁闷ing..........

哪里的共享内存? [/quote]

发送端
int nDataLength=sizeof(ExpRCInterface::GetInstance()->m_tagRCIO);
            hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,nDataLength,\"MYSHAREDATA\");
MapViewOfFile(.....)
memcpy(lpData,&ExpRCInterface::GetInstance()->m_tagRCIO,nDataLength);
//tell receiver the struct has been modified
pWnd->PostMessage(WM_COMM_MESSAGE,1,nDataLength);
接收端:
int nDataLength=sizeof(ExpRCInterface::GetInstance()->m_tagRCIO);
            hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,nDataLength,\"MYSHAREDATA\");
MapViewOfFile(.....)
memcpy(&ExpRCInterface::GetInstance()->m_tagRCIO,lpData,lParam);
 [/quote]
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
yachli
驱动小牛
驱动小牛
  • 注册日期2004-04-12
  • 最后登录2016-03-08
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2005-02-24 08:17
理论上是不会的。我坐的是两个进程间的通信,一个通讯进程,一个处理图像进程。通讯进程向处理图像进程串数据没有问题。处理图像进程向通讯金城川问题也没问题,但是通讯机程介收到数据从湘西响应函数出来后通讯就彻底中断了。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2005-02-24 10:56
理论上是不会的。我坐的是两个进程间的通信,一个通讯进程,一个处理图像进程。通讯进程向处理图像进程串数据没有问题。处理图像进程向通讯金城川问题也没问题,但是通讯机程介收到数据从湘西响应函数出来后通讯就彻底中断了。

最关键的这句“但是通讯机程介收到数据从湘西响应函数出来后通讯就彻底中断了”看不懂
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
yachli
驱动小牛
驱动小牛
  • 注册日期2004-04-12
  • 最后登录2016-03-08
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2005-02-24 17:21
[最关键的这句“但是通讯机程介收到数据从湘西响应函数出来后通讯就彻底中断了”看不懂


不好意思,是“但是通讯进程接收到数据从消息响应函数出来后通讯就彻底中断了”。

现在问题已经解决,是因为共享内存里把处理图像的进程的句柄也打了进来。更改了通讯进程的句柄。

谢谢各位的回复啊,分别赠送5分作为感谢。
yachli
驱动小牛
驱动小牛
  • 注册日期2004-04-12
  • 最后登录2016-03-08
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2005-02-25 08:18
[quote][最关键的这句“但是通讯机程介收到数据从湘西响应函数出来后通讯就彻底中断了”看不懂


不好意思,是“但是通讯进程接收到数据从消息响应函数出来后通讯就彻底中断了”。

现在问题已经解决,是因为共享内存里把处理图像的进程的句柄也打了进来。更改了通讯进程的句柄。

谢谢各位的回复啊,分别赠送5分作为感谢。 [/quote]

本想多给点,但是可用分只有这么多了,下次给吧。
上一页 下一页
游客

返回顶部