年后第一份工作:为WinCE5.0添加板子上另外两个串口的驱动支持。手头的2440开发板可以选用12M和16M两种频率的晶振 ,但是发现16M晶振下原先正常的16M程序全部无法运行,但是在12M下却可以运行,但是串口输出是乱码。郁闷了,就这样耗了大半天。不得已向经理求助,得到的答复是在12M下修改串口波特率。考虑到代码中运行的是16M的,现在的晶振是12M的,所以造成乱码的原因就是板子串口的波特率为PC端设置的波特率的16/12倍。找到OEMInitDebugSerial函数,将设置波特率的值乘以12/16 -- 程序运行ok了...
其实这刚刚为之后的工作铺平了路而已,但是收获确不小:虽然对硬件不熟悉,但是仍然不可以在脑中形成对硬件的习惯性思维,不可以太死板...
p.s.如此处理CE内核的串口输出也正常了。其实一开始也想到把代码重新设置为12M,但是这样还是不行,系统反复重起,我也不知道为什么,真是郁闷~