引用 15 楼 xajhuang 的回复:
选做手机用的那种芯片 UART 用16554扩就行了
我不用这个,我用FIFO更大的,因为我的波特率高,而且GPS一次性发了1024 byte过来。
这件事情上,我的外扩串口驱动是4.2BSP的,我稍微修改放到wince6.0 /5.0
在5.0 下 出现了 只能接受到前面到32byte的现象,无论我如何修改FIFO触发深度都不行,在4.2BSP下偶尔会被截断,比如2440 被太阳晒热之后,这两个驱动一样,现在在4.2BSP下修改FIFO深度由八到16byte,现在又工作正常了,嘿嘿。
说明了5.0 下的ISR 不如 4.2的ISR效率高,嘿嘿。
我再次把 这个驱动弄到wince6.0, wince5.0下的驱动和wince6.0一摸一样,结果wince6.0 居然没有32byte的现象,但是发送一段时间后,外扩串口芯片罢工了,不发生中断了,这个现象我遇到过。主要是因为FIFO溢出多次后,外扩串口驱动芯片就会罢工,需要重新清理FIFO才行的。看来修改FIFO深度由八到16byte wince6.0又能跑起来了,从这个现象说明,wince6.0 下的驱动性能比wince5.0的好多了。
对了wince6.0 下驱动的线程优先级一般为多少呢?貌似我还找照着wince5.0的 这样岂不是要改动了。如果再能提高,那就更好了!