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