打印
[ZLG-ARM]

lpc2138中IO口的问题

[复制链接]
1438|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liulicau|  楼主 | 2007-10-15 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,请帮我看下这段程序
#define A 1<<17;
#define B 1<<19;
#define C 1<<21;
void DACInit()

{
    PINSEL0=0X00000000;  //设置P0引脚连接GPIO
    PINSEL1=0X00080000;  //使能DA
    IO0DIR=A;            //设置P0.17为输出
    IO0DIR=B;            //设置P0.19为输出
    IO0DIR=C;            //设置P0.21为输出
    IO0SET=A;            //关闭灯   
    IO0SET=B;
    IO0SET=C;
}
为什么程序执行的时候IO口A,B,C输出不为1?

相关帖子

沙发
tangsunsun| | 2007-10-15 13:45 | 只看该作者

IO0DIR=A|B|C

使用特权

评论回复
板凳
liulicau|  楼主 | 2007-10-15 14:28 | 只看该作者

这样也不行呢?

PINSEL0=0X00000000;  //设置P0引脚连接GPIO
PINSEL1=0X00080000;  //使能DA
IO0DIR=0x002A0000;
IO0PIN=IO0PIN&0x002A0000;
为什么这样也不行呢?

使用特权

评论回复
地板
realrots| | 2007-10-15 14:49 | 只看该作者

re

IO0PIN=IO0PIN&0x002A0000;
没看明白什么意思

使用特权

评论回复
5
chenjiacai| | 2007-10-17 22:09 | 只看该作者

IO0DIR=A|B|C

#define A 1<<17;
#define B 1<<19;
#define C 1<<21;

要写成
#define A (1<<17)
#define B (1<<19)
#define C (1<<21)
然后IO0DIR的设置成
IO0DIR=A|B|C     
可以。否则 你的IO0DIR=A|B|C 表达不出 你本来想要的东西。

使用特权

评论回复
6
realrots| | 2007-10-18 08:58 | 只看该作者

不是表示设三个管脚为输出吗?

使用特权

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

本版积分规则

14

主题

28

帖子

1

粉丝