打印
[ZLG-MCU]

LPC2132的P0.31

[复制链接]
1885|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
象眼|  楼主 | 2007-10-5 11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于LPC2132的P0.31是只能做输出口用,但是为什么我在KEILarm中使用这样的程序的时候,有警告说:
frequency.c(71): warning:  #61-D: integer operation result is out of range

我的程序大致是这样的:
void channel_select(unsigned char channel)
{
    switch(channel){

    case 0:
        IO1CLR=(1<<16)|(1<<17);
        IO0CLR=(1<<31);
        break;
    case 1:
        IO1CLR=(1<<16)|(1<<17);
        IO0SET=(1<<31);
        break;
    case 2:
        IO0SET=(1<<16);
        IO0CLR=(1<<17);
        IO0CLR=(1<<31);
        break;    
    case 3:
        IO1SET=(1<<16);
        IO1CLR=(1<<17);
        IO0SET=(1<<31);
        break;        
    case 4:
        IO1CLR=(1<<16);
        IO1SET=(1<<17);
        IO0SET=(1<<31);
        break;
    case 5:
        IO1SET=(1<<16)|(1<<17);
        IO0CLR=(1<<31);
        break;
                   
    default:
        
        break;

        }
}

请大侠们指点;

相关下载

相关帖子

沙发
masashinakayama| | 2007-10-6 21:19 | 只看该作者

本程序全部正确

别处问题

使用特权

评论回复
板凳
象眼|  楼主 | 2007-10-7 23:28 | 只看该作者

谢谢支持

好像是KEIL ARM编译器的问题,在把1改成unsigned int 1就可以了!

使用特权

评论回复
地板
hotpower| | 2007-10-8 00:17 | 只看该作者

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

(unsigned int n)是可以解决的.

使用特权

评论回复
5
象眼|  楼主 | 2007-10-22 10:45 | 只看该作者

LPC2132

我使用LPC2132控制一片74HC4051,我用P1.17,P1.16和P0.31做控制,每个引脚都加上了10K的上拉,结果,不能够P1.17和P1.16始终为高,不能拉低,这是怎么回事啊?
    PINSEL1=PINSEL1&(~0xC0000000);
    PINSEL2=PINSEL2&(~0x08);
    IODIR0=((unsigned int)1<<31);
    IODIR1=(1<<16)|(1<<17);

    channel_select(0);

这样,结果不能选通通道0

使用特权

评论回复
6
caijie| | 2008-11-9 00:45 | 只看该作者

111

呵呵 移位问题 很简单 一般标准定义方法是1ul 或者1u
1ul<<31 或者1u  为什么?想想吧

使用特权

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

本版积分规则

1

主题

18

帖子

0

粉丝