新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 在ARM 中 GPIO的设置方法

在ARM 中 GPIO的设置方法

作者: 时间:2016-11-20 来源:网络 收藏
//LPC2103,周立功公司的ARM产品。

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

本文引用地址:https://www.eepw.com.cn/article/201611/318987.htm

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

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

// 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;
}



关键词: ARMGPIO设置方

评论


技术专区

关闭
×

TI 在线会
2025年6月11日,与TI一起探索电动化汽车高效音频解决方案吧!