[ZLG-ARM] P0.5翻转问题!

[复制链接]
2537|9
 楼主| toluoxin 发表于 2007-3-31 20:00 | 显示全部楼层 |阅读模式
我用的芯片是LPC2119,其中要用到P0.5口输出方波,我写入以下代码可是P0.5引脚保持低电位,不知道代码那里错了?<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INCLUDE&nbsp;&nbsp;&nbsp;LPC2294.INC<br />;--------------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;TEST,CODE,READONLY<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />;--------------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />MAIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />;------------引脚连接MAT0.1------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r0,=PINSEL0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;r1,#0x800<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;r1,[r0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;p0.5--&gtmat0.1<br />;------------定时器0初试化-------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r0,=T0MR1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r1,=0x00000bb7<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;r1,[r0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;溢出时间MR1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r0,=T0MCR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;r1,#0x10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;r1,[r0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;MR1复位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r0,=T0EMR&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;r1,#0xc0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;r1,[r0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;MAT0.1(p0.5)外部匹配引脚翻转<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r0,=T0TCR&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;r1,#0x03<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;r1,[r0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ldr&nbsp;r0,=T0TCR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;r1,#0x01<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;r1,[r0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;起动定时器<br />;----------------------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;.<br />;----------------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;END
zlgARM 发表于 2007-3-31 23:28 | 显示全部楼层

toluoxin

&nbsp;&nbsp;先用其它办法,比如直接用IO,来输出方波,确认不是硬件电路或者其它文件的问题。然后请您找一下例程,参考它,再修正自己的代码。
 楼主| toluoxin 发表于 2007-4-2 19:03 | 显示全部楼层

困惑!

周工您好,根据您的提示,我用软件对p0.5引脚进行置一清零测试硬件。结果p0.5引脚有高低电位的变化,电平状态正确。由此可以排除硬件和文件带来的问题。但是使用上述代码,p0.5引脚始终处于低电位状态。然而通过调试器对T0EMR.1位观察该位在不断的翻转变化。应该可以说明定时器是按预先的要求工作的。既然在定时器在工作,引脚也按要求连接了,为什么还是处于低电位?这个问题很困惑!&nbsp;
zlgARM 发表于 2007-4-2 22:06 | 显示全部楼层

toluoxin

&nbsp;&nbsp;能否请您找到相关的例程,即使是C语言的也好。对比一下,结果就出来了。
 楼主| toluoxin 发表于 2007-4-5 12:59 | 显示全部楼层

P0。5口测试

我用软件延时的方法对P0。5口测试。P0。5口输出正确。如图
 楼主| toluoxin 发表于 2007-4-5 13:17 | 显示全部楼层

有劳周工帮我找出其中问题?

有劳周工帮我找出其中问题?万分感谢!
大漠孤鹰 发表于 2007-4-5 14:57 | 显示全部楼层

你太有才了

arm用汇编,你太有才了!
 楼主| toluoxin 发表于 2007-4-6 12:53 | 显示全部楼层

帮帮我

我已经仔细了参照光盘的例程,现在我实在没有办法了,望周工帮我分析其中问题。
 楼主| toluoxin 发表于 2007-5-6 17:42 | 显示全部楼层

芯片BUG

真是搞死人!勘误表上写到:<br />TIMER0.1:如果配置为可选的功能则不能在端口管脚P0.5&nbsp;上看到匹配0.1&nbsp;输出<br />简介:&nbsp;定时器0&nbsp;有4&nbsp;个外部匹配输出对应于具有多种功能的匹配寄存器。匹配0.0&nbsp;可在P0.3&nbsp;和P0.22<br />上被配置为可选的功能。匹配0.1&nbsp;可在P0.5&nbsp;和P0.27&nbsp;上被配置为可选的功能。通过使用各自的<br />PINSELx&nbsp;寄存器来配置可选的功能。<br />问题:&nbsp;匹配0.0&nbsp;本应仅连接到P0.3&nbsp;和P0.22,但它也连接到P0.5。匹配0.1&nbsp;仅连接到P0.27。因此如果<br />应用程序在P0.3(匹配0.0)和P0.5(匹配0.1)上配置外部匹配的可选功能,那么匹配0.0&nbsp;输<br />出可在两个端口管脚(P0.3&nbsp;和P0.5)上看到。<br />解决方法:只有P0.27&nbsp;可用于匹配0.1。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

79

帖子

1

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