6139|17

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

向"91program"提问 wince串口通信不用线程方式行吗? [复制链接]

如问题标题!
我原本参考一些代码来建立wince平台的串口通讯程序.
后来我一个主管说"wince下的串口通讯最好不用线程方式进行接收数据..."
让我用其他方式进行接收串口返回的数据.

可我的水平有限,想不到什么方法解决!
请专家或高手给我提示(最好有代码示例最好!)

keyword:vs2005 mfc应用程序 wince

最新回复

楼主写好没有啊,快帖出来啊,等着救命啊  详情 回复 发表于 2009-4-24 23:00
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
接受数据的方式无外乎2种:中断和轮训。和线程模型没关系。
开另外一个线程只是让UI线程和数据处理线程分开来,让用户在界面感觉上更好。
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不用线程?那就剩下2种方法了,1.死等;2.中断 但似乎都有问题。

关键是你主管的“最好不用”的原因在哪里?既然他说最好不用,那你可以问问他最好用什么?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
最好用线线程,否则界面就不好处理了。

让你的主管提出具体的原因,否则不理他。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

5
 
行 不过写出来的程序你多半会觉得不舒服。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(中级)

6
 
得了,我在CE上处理串口都是用线程,也没什么问题啊。不用线程你的UI怎么办?你那主管貌似白痴。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

7
 
关注一下有什么更好的方法。。。。。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 lenux 的回复:
关注一下有什么更好的方法。。。。。


关注一下
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(中级)

9
 
你完全没领会你主管的意思,你主管也没说清楚。
串口驱动有两种FIFO和DMA,串口应用也有两种,同步和异步。
CE下串口API工作方式只支持异步的,所以去等待串口数据到达时,在接收线程会用到WaitCommEvent。当驱动工作在FIFO方式的时候,系统负荷重时,促发的event速度比较慢,有时数据来了一大堆,才会接到一个event。如果是DMA方式,event产生可能会更慢。所以高速速率传输时,一般都避免依靠等待CommEvent来通知再去读数据。通常都是收到一个event就做个循环去一直读空串口为止,这个过程还是要放在线程里的。我想你那主管就是想表达这件事,结果你真以为不用线程。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 2 楼 yashi 的回复:
不用线程?那就剩下2种方法了,1.死等;2.中断 但似乎都有问题。

关键是你主管的“最好不用”的原因在哪里?既然他说最好不用,那你可以问问他最好用什么?


我也很同意你的观点,我问他了,他就是叫我用其他方法!没有回答我...
如果我"死等"他的答案肯定没戏,于是我要用提问各位专家的"中断"方式看能否得到解决方案!?
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 3 楼 91program 的回复:
最好用线线程,否则界面就不好处理了。

让你的主管提出具体的原因,否则不理他。


呵呵,理解你的观点!
出于对技术的坚持,相信真理...不过技术也是人创造出来的!
期待...挖掘...
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 5 楼 oh_my_god 的回复:
得了,我在CE上处理串口都是用线程,也没什么问题啊。不用线程你的UI怎么办?你那主管貌似白痴。


好的,不介意,有机会向你学习一下?
他其实是个人很聪明的人,经常在启发下面的人,也很乐意和耐心解答我一些不懂的问题.
只是有些事情,他也和常人一样,他也不是面面具到.只可惜我的能力还有限,学习中....
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 
wince上如果不用线程接收数据会卡死。
当然你的程序就纯串口通信可以不考虑。
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 8 楼 nbcool 的回复:
你完全没领会你主管的意思,你主管也没说清楚。
串口驱动有两种FIFO和DMA,串口应用也有两种,同步和异步。
CE下串口API工作方式只支持异步的,所以去等待串口数据到达时,在接收线程会用到WaitCommEvent。当驱动工作在FIFO方式的时候,系统负荷重时,促发的event速度比较慢,有时数据来了一大堆,才会接到一个event。如果是DMA方式,event产生可能会更慢。所以高速速率传输时,一般都避免依靠等待CommEvent来通知再去读数据。…


他不是中国人,我们沟通是基于英语,可能我英语水平有限,这是其一!
其二,他可能是想我用最简单的方式接收简单的AT Command返回数据吧,不能确定...

很感谢你的见解,因为CE驱动方面知识还有待学习...对你提出的概念和相关技术我会好好琢磨,再看看相关资料!
有机会向你学习一下?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 12 楼 constantine 的回复:
wince上如果不用线程接收数据会卡死。
当然你的程序就纯串口通信可以不考虑。


所以可能我的思路就要走这个方向来解决问题....
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

16
 
楼主 东西写出来了没   我也要 写一个,写好了能贴出来不????
恼火的很!!!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

17
 
先结帖了,因为项目暂时搁置了,最近一直在处理其他的项目,如果有结果我会回来贴上去!
 
 
 

回复

72

帖子

0

TA的资源

纯净的硅(中级)

18
 
楼主写好没有啊,快帖出来啊,等着救命啊
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖探索 | 和村田一起,深挖 GNSS 开发!
活动时间:即日起-5月11日
活动奖励:智能手环、螺丝刀套装、双肩包

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 13

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表