打印
[ZLG-ARM]

LPC2378,FAST GPIO的一个非常蹊跷的现象,望解答.

[复制链接]
2096|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuzhuju|  楼主 | 2008-2-20 22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define LCM_RD          (0x00000001 <<  4)//LCM READ
void PIN_TEST(void)
{
      SCS |= 0x00000001;     
      PINSEL2 &= 0x0FC0FCF0;
       FIO1DIR = LCM_RD;
    while (1)
    {

   FIO1SET = LCM_RD;
   FIO1CLR = LCM_RD; 
    }
}
用ulink接板子单步执行,发现当执行FIO1CLR = LCM_RD;P1.4脚只出现一个60ms的低脉冲,而不是一个持续的低电平.
但是如果以下程序,把P1.4作为普通gpio来使用的时候,执行FIOCLR1 = LCM_RD;P1.4就会稳定输出一个低电平.请问该怎么解决这个问题啊.另外请问FAST GPIO是否可以混用.即P0,P1使用普通GPIO,P2,P3,P4使用fast gpio.
void PIN_TEST1(void)
{
      PINSEL2 &= 0x0FC0FCF0;
       FIODIR1 = LCM_RD;
    while (1)
    {

   FIOSET1 = LCM_RD;
   FIOCLR1 = LCM_RD; 
    }
}

相关帖子

沙发
yuzhuju|  楼主 | 2008-2-21 09:04 | 只看该作者

没人遇见这个情况吗?

void PIN_TEST(void)
{
      SCS |= 0x00000001;     
      PINSEL2 &= 0x0FC0FCF0;
       FIO1DIR = LCM_RD;
      FIO1CLR = LCM_RD;
    while (1);
}

这个函数的结果是输出了一个低脉冲,而不是一个持续电平,除非在循环里面反复刷新这个脚.

使用特权

评论回复
板凳
yuzhuju|  楼主 | 2008-2-21 10:19 | 只看该作者

111

使用特权

评论回复
地板
yuzhuju|  楼主 | 2008-2-21 10:20 | 只看该作者

22222

使用特权

评论回复
5
yuzhuju|  楼主 | 2008-2-21 10:22 | 只看该作者

..........

硬件仿真
发现控制FIO1的时候,FIO3的寄存器居然在变化.FIO1却不动.

使用特权

评论回复
6
zlgarm| | 2008-2-21 11:25 | 只看该作者

回复如下:

yuzhuju,您好!
    用其他的管脚作快速GPIO会出现此现象吗?比如用P1.18作快速GPIO。


                                                     By zlgarm_wuzhijian

使用特权

评论回复
7
yuzhuju|  楼主 | 2008-2-21 17:44 | 只看该作者

....

目前发现是2个脚
P1.1和P1.4
P1.1 CLR的时候出现一个低脉冲
P1.4 SET的时候出现一个高脉冲

不过这些都是都单步执行时候出现.
现在倒有点怀疑是KEIL,或ULINK的问题了.

另外2378的P1,P2口输出被短路了一下,IC热的很.恢复正常后,rtc好象坏了,会很频繁的发出中断.其它都还正常.

使用特权

评论回复
8
lpc2000| | 2008-2-22 05:43 | 只看该作者

观察FIO管脚的电平

把Memory的窗口关掉,是debugger的问题,用示波器观察,电平应该是
对的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

120

帖子

0

粉丝