我有一个多普达828的主板,系统是WM6.1 CPU是PXA272 ROM是128M RAM是64M,手机\PDA功能都正常.这个主板有三个UART,其中一个STUART应该接红外端口用来进行红外数据传输.我把红外的驱动卸载了(也就是把驱动用的DLL改了名)然后,对这个RXD,TXD对应的引脚编程,可是两个引脚没有任何反应.把这两个脚对应的功能从RXD转为普通GPIO再设置为输出,然后设高电平,低电平也没任何反应.始终处于高电平状态.请Gooogleman帮个忙,这是咋回事呢?我对其它的没有使用的引脚GPIO设置后使用都是完全正常的,(就是可以任意设输出为高电平或低电平),我对硬件知道的太少,请帮忙分析一下?(其它两个FFUART\BTUART都被GSM相关的模块使用了)
万班无耐之下,我用一个普通GPIO脚模拟UART的RXD,经过一调试,可以接收到GPS的NEMA语句,但错误太多!有没有什么好的解决方法?
先看看你的TXD和RXD两个引脚是不是接了什么东西。
按说应该是接了红外收发模块了,可是我在网上查了一些资料,说这些STUART是用CPLD选择的,是不是CPLD控制了它使它始终处于高电平状态?另外CPLD在电路上地址都是0X10000000吗?还是这个地址根据不同硬件连接来定?
谢谢!请大家有空给个回复!
RXD脚是接了一些电阻,但都是接地的,在线测量很大900K左右。
我就是没电路图才上网咨询的啊,要是有电路图自己就可以搞定了哈!
经过实际测试发现:
(MCU)RXD---G3(CPLD)--红外模块(RXD),是CPLD的G3脚把电平拉低,使得RXD脚始终处于低电平状态。谁对CPLD熟悉?如何才能让RXD脚处于可以活动状态?
谢谢!请懂行的回复一下!
CPLD如果没有它的地址空间分布是不可能控制的,而且地址上也不一定是同一个,没有原理图在硬件上操作太困难了。。。
楼主非得把红外的接口用作uart做啥? 开发板的电路最好不要动,没有原理图不好看的。
是这样的,我想给手机加个GPS模块。那个红外功能对我来说,没什么用。所以我想通过这个STUART来接收GPS的NEMA语句。现在问题是:这个STUART的RXD脚老是低电平,好象被什么屏敝了,无法使用!奇怪的是TXD脚却是正常的,问题是接收GPS数据,我只用到RXD,TXD用不到,你说可气不?
哪位DX,有懂行的指导一下!
我在想,要是软件搞不定的话,就用风枪把CPLD吹下来,把接RXD的脚在物理上给它断开。我用的不是开发板,是一块智能手机主板。
没法子啊,对CPLD一窍不通啊。CPLD的物理地址在WM6.1的注册表上能不能查到?哪位DX说一下?
呵呵~自已搞定了!
原来把红外接收模块一拿掉,UART口操作就正常了!自已写了一个单层的串口驱动,已经能够收到GPS数据,导航定位都正常了。不过还是有个问题:就是我写的驱动是POLL模式,太费资源,对系统速度较大。大家说说如何改进啊?
谢谢,大家关注!