[ZLG-MCU] LPC2132的P0.31

[复制链接]
3036|5
 楼主| 象眼 发表于 2007-10-5 11:51 | 显示全部楼层 |阅读模式
关于LPC2132的P0.31是只能做输出口用,但是为什么我在KEILarm中使用这样的程序的时候,有警告说:<br />frequency.c(71):&nbsp;warning:&nbsp;&nbsp;#61-D:&nbsp;integer&nbsp;operation&nbsp;result&nbsp;is&nbsp;out&nbsp;of&nbsp;range<br /><br />我的程序大致是这样的:<br />void&nbsp;channel_select(unsigned&nbsp;char&nbsp;channel)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;switch(channel){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;0:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt16)|(1&lt&lt17);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR=(1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;1:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt16)|(1&lt&lt17);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET=(1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;2:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET=(1&lt&lt16);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR=(1&lt&lt17);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR=(1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;3:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt16);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt17);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET=(1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;4:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=(1&lt&lt16);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt17);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET=(1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;5:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO1SET=(1&lt&lt16)|(1&lt&lt17);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR=(1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;default:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />请大侠们指点;<br />
masashinakayama 发表于 2007-10-6 21:19 | 显示全部楼层

本程序全部正确

别处问题
 楼主| 象眼 发表于 2007-10-7 23:28 | 显示全部楼层

谢谢支持

好像是KEIL&nbsp;ARM编译器的问题,在把1改成unsigned&nbsp;int&nbsp;1就可以了!
hotpower 发表于 2007-10-8 00:17 | 显示全部楼层

(1<<31),(2<<30),(3<<29)之类产生的警告

(unsigned&nbsp;int&nbsp;n)是可以解决的.
 楼主| 象眼 发表于 2007-10-22 10:45 | 显示全部楼层

LPC2132

我使用LPC2132控制一片74HC4051,我用P1.17,P1.16和P0.31做控制,每个引脚都加上了10K的上拉,结果,不能够P1.17和P1.16始终为高,不能拉低,这是怎么回事啊?<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL1=PINSEL1&(~0xC0000000);<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL2=PINSEL2&(~0x08);<br />&nbsp;&nbsp;&nbsp;&nbsp;IODIR0=((unsigned&nbsp;int)1&lt&lt31);<br />&nbsp;&nbsp;&nbsp;&nbsp;IODIR1=(1&lt&lt16)|(1&lt&lt17);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;channel_select(0);<br /><br />这样,结果不能选通通道0
caijie 发表于 2008-11-9 00:45 | 显示全部楼层

111

呵呵&nbsp;移位问题&nbsp;很简单&nbsp;一般标准定义方法是1ul&nbsp;或者1u<br />1ul&lt&lt31&nbsp;或者1u&nbsp;&nbsp;为什么?想想吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

18

帖子

0

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