SerialPort在电脑上面有同步与异步两种方式来访问,
在WinCE中只有同步。
在WinCE中如果没有设置超时,有可能在ReadFile堵住,导致程序无法退出。
在电脑上同步的实时性好一些。
那么使用异步是为什么哪?防止阻塞界面?
前些日子遇到的事,写了很多次了:
客户的笔记本电脑,同步不能用,只能异步。
而最终部署的设备,车载电脑,运行WinXP Embeded,
异步的方式有明显的延迟(带来的结果是两个GPRMC,最多可以有2s间隔)。
客户还希望在笔记本电脑与车载电脑都正常可以运行。
但这些都是事后才知道的,当初同步方式在设备上很好的,
客户要求改成异步,就只好改成异步。
在设备上出了问题,解析器与UI一顿容错(还是容不住的),最后只能"造假"。
我觉得,对于SerialPort,可能多数人的认识都是不完整的。
太复杂了。
本文讨论了SerialPort在不同平台上的同步与异步访问方式,特别是在WinCE平台上的应用特点。通过实例分析了同步与异步方式在实际项目中的优缺点,并探讨了在不同设备环境下如何选择合适的访问模式。
150

被折叠的 条评论
为什么被折叠?



