微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 在ARM 中 GPIO的设置方法

在ARM 中 GPIO的设置方法

时间:11-20 来源:互联网 点击:
//LPC2103,周立功公司的ARM产品。

//在此处,每行未,使用了一个反斜,表示,上下行

//为一个整体,这样写方便修改和理解,设定。

//没写完,要注意。以后,多引用这种方法。

// PINSEL1 = PINSEL1 & (~(0x03 < 2)|~(0x3<4)|~(0x3<6));//错误 置0用&而不是用或的
PINSEL1 = ( PINSEL1 // 在P0。0~P0。15后,划入PINSEL1,每2位PINSEL

//一个位; 而IO0DIR是一对1的。
& (~(0x03 < 2) //设定P0。17
&(~(0x3<4)) // P0。18
&(~(0x3<6))));

#include "config.h"

# define LED1 1 < 17

# define LED2 1 < 18

# define LED3 1 < 19

# define LEDCON LED1|LED2|LED3

void DelayNS (uint32 uiDly)
{
uint32 i;

for (; uiDly > 0; uiDly--){
for(i = 0; i < 50000; i++);
}
}

int main (void)
{

// PINSEL0|&= (~)
uint32 k;

PINSEL1=0xffffffff;

//PINSEL1=0;

// PINSEL1 = PINSEL1 & (~(0x03 < 2)|~(0x3<4)|~(0x3<6));

PINSEL1 = PINSEL1 & (~(0x03 < 2));

//置0用与,&=,置1用或|=
//PINSEL1 |=( (~(0x03<4)));// PINSEL1

// PINSEL1 = PINSEL1 |(~(0x03 < 2)|~(0x3<4));

// PINSEL1 = PINSEL1 & (~(0x03 < 4));

// PINSEL1 = PINSEL1 & (~(0x03 < 2)|~(0x3<4)|~(0x3<6));//错误 置0用&而不是用或的
PINSEL1 = (PINSEL1 & (~(0x03 < 2)&(~(0x3<4))&(~(0x3<6))));

k=PINSEL1;

IO0DIR = LED1;

IO0DIR |=LEDCON;



IO0SET = LED1;




while (1) {
IO0SET = LED1;
DelayNS(50);
IO0CLR = LED1;
DelayNS(50);

IO0SET = LEDCON;
DelayNS(50);
IO0CLR = LEDCON;
DelayNS(50);



}

return 0;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top