[ZLG-ARM] 请教周工及各位大侠:LPC2368 仿真问题

[复制链接]
2320|3
 楼主| kernel99 发表于 2008-6-19 16:59 | 显示全部楼层 |阅读模式
用的是LPC2368芯片,仿真器是&nbsp;英蓓特的&nbsp;UICE<br />现在遇到问题:<br />&nbsp;&nbsp;&nbsp;&nbsp;启动AXD进入仿真状态,程序跑到main()程序后,<br />&nbsp;&nbsp;&nbsp;&nbsp;紧挨着main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0=PINSEL1=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL2=PINSEL3=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IODIR0=0X03f80380;&nbsp;//设置P0.7--P0.9,P0.19--P0.25为输出&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IODIR1=0X003f0000;<br /><br />........<br />}<br /><br />在单步走完上面的4条语句后,监测IO0PIN&nbsp;和IO1PIN寄存器的值发现全部都是&nbsp;OXOO&nbsp;,<br />特意把那些用做输入的管脚接高,然后单步走,仍然是0X00.请问大侠们,问题出在哪!&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;换了好几块LPC2368芯片,问题仍然是这样!
zlgarm 发表于 2008-6-20 08:49 | 显示全部楼层

回复

楼主好:<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;请检查&nbsp;操作的寄存器名字:IODIR0=0X03f80380;IODIR1=0X003f0000是否正确。<br /><br />By&nbsp;glh
 楼主| kernel99 发表于 2008-6-20 08:52 | 显示全部楼层

是正确的

在LPC23XX&nbsp;头文件中定义过<br />/*&nbsp;General&nbsp;Purpose&nbsp;Input/Output&nbsp;(GPIO)&nbsp;*/<br />#define&nbsp;GPIO_BASE_ADDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE0028000<br />#define&nbsp;IOPIN0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x00))<br />#define&nbsp;IOSET0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x04))<br />#define&nbsp;IODIR0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x08))<br />#define&nbsp;IOCLR0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x0C))<br />#define&nbsp;IOPIN1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x10))<br />#define&nbsp;IOSET1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x14))<br />#define&nbsp;IODIR1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x18))<br />#define&nbsp;IOCLR1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*(volatile&nbsp;unsigned&nbsp;long&nbsp;*)(GPIO_BASE_ADDR&nbsp;+&nbsp;0x1C))
 楼主| kernel99 发表于 2008-6-20 09:49 | 显示全部楼层

继续

这是一块新板出现的问题<br />&nbsp;用旧电路板,启动AXD进入仿真状态,&nbsp;先不跑程序,在寄存器观察窗口,就能看到<br />&nbsp;IOPIN0&nbsp;&nbsp;,IOPIN1有数值.<br />&nbsp;<br />&nbsp;用新电路板启动AXD进入仿真状态,&nbsp;先不跑程序,在寄存器观察窗口,就能看到<br />&nbsp;IOPIN0&nbsp;&nbsp;,IOPIN1全为0.<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

93

主题

177

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部