打印
[ZLG-ARM]

请教周工及各位大侠:LPC2368 仿真问题

[复制链接]
1669|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kernel99|  楼主 | 2008-6-19 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是LPC2368芯片,仿真器是 英蓓特的 UICE
现在遇到问题:
    启动AXD进入仿真状态,程序跑到main()程序后,
    紧挨着main()
{
         PINSEL0=PINSEL1=0X00;
    
    PINSEL2=PINSEL3=0X00;
    
    IODIR0=0X03f80380; //设置P0.7--P0.9,P0.19--P0.25为输出    
    IODIR1=0X003f0000;

........
}

在单步走完上面的4条语句后,监测IO0PIN 和IO1PIN寄存器的值发现全部都是 OXOO ,
特意把那些用做输入的管脚接高,然后单步走,仍然是0X00.请问大侠们,问题出在哪!  

    换了好几块LPC2368芯片,问题仍然是这样!

相关帖子

沙发
zlgarm| | 2008-6-20 08:49 | 只看该作者

回复

楼主好:
   
    请检查 操作的寄存器名字:IODIR0=0X03f80380;IODIR1=0X003f0000是否正确。

By glh

使用特权

评论回复
板凳
kernel99|  楼主 | 2008-6-20 08:52 | 只看该作者

是正确的

在LPC23XX 头文件中定义过
/* General Purpose Input/Output (GPIO) */
#define GPIO_BASE_ADDR        0xE0028000
#define IOPIN0         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x00))
#define IOSET0         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x04))
#define IODIR0         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x08))
#define IOCLR0         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x0C))
#define IOPIN1         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x10))
#define IOSET1         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x14))
#define IODIR1         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x18))
#define IOCLR1         (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x1C))

使用特权

评论回复
地板
kernel99|  楼主 | 2008-6-20 09:49 | 只看该作者

继续

这是一块新板出现的问题
 用旧电路板,启动AXD进入仿真状态, 先不跑程序,在寄存器观察窗口,就能看到
 IOPIN0  ,IOPIN1有数值.
 
 用新电路板启动AXD进入仿真状态, 先不跑程序,在寄存器观察窗口,就能看到
 IOPIN0  ,IOPIN1全为0.

使用特权

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

本版积分规则

93

主题

177

帖子

1

粉丝