我们的平台是PXA310,带了3个串口,一个FFUART,一个STUART与一个BTUART.操作系统是wince6.0.
因为资源的问题,三个串口都需要做成APP串口,其中STUART之前是设置成了DEBUG串口,通过在EBOOT的交互菜单中修改可以更改该串口模式。
现在遇到一个奇怪的问题,就是将STUART设置为DEBUG串口的时候,该串口输出打印信息,此时FFUART工作正常,可以进行正常的串口通信,但是将STUART设置为APP串口,就是在wince下供应用程序调用的时候,STUART可以正常工作,但是此时FFUART就不能正常工作了,发送数据后没有回复,通过示波器捕捉,发现FFUART确实发送了数据,而且对方设备也回复了数据,但是应用软件就是没有内容,导致无法正常通信。
三个串口的驱动都创建了独立的类,继承了类CPxaPdd16550,只是修改了init,open,close三个虚函数,对其中的关于中断号、引脚配置、串口时钟进行不同的设置,其他都是一样,STUART前面有一个判断函数,用于判断是什么模式,如果是debug模式则不加载驱动,app模式才加载。现在就是搞不懂怎么会互相影响?
------解决方案--------------------
看看是不是驱动之间改了 IO 口的设置, 我之前看到一些驱动里面会改 IO 设置,
是不是把对应的 IO 设置该修改为不是 串口工作模式了?