专栏中心

EEPW首页 > 专栏 > 玩转GPIO之LPC2136中IOPIN的别样功能

玩转GPIO之LPC2136中IOPIN的别样功能

发布人:xiajiashan 时间:2012-08-28 来源:工程师 发布文章

原创作品,转载请注明

作者:潇湘-,自动化大三(索漫科技linux驱动班学员)

一、目的

在LPC2136下,研究IOPIN置高电平与IOSET置高电平的区别。

二、缘由

在一系列实验时我发现,IOPIN寄存器在IODIR寄存器设置好方向后,也能实现输入和输出高低电平。和IOSET有所区别的是IOSET置高电平后要用IOCLR清除,而IOPIN只需要在变量赋值时重新覆盖即可。

三、实验过程

大家可以用小灯程序做个实验

在我的开发板中小灯的引脚如下图所示1.jpg 故做如下实验用IOPIN寄存器时

#define LED1 1<<16

#define LED2 1<<17

#define LED3 1<<18

#define LED4 1<<19

/****************************************************************************

* 名称:initSystem()

* 功能:初始化IO

****************************************************************************/

void initSystem(void)

{

 

IO1DIR = LED1|LED2|LED3|LED4;//设置方向

IO1SET = LED1|LED2|LED3|LED4 ;//高电平使灯灭

}

 

 

/****************************************************************************

* 名称:main()

* 功能:初始化led,并实现led4闪烁的效果。

****************************************************************************/

int main(void)

{

initSystem();

while(1)

{

 

IO1PIN = LED1|LED2|LED3 ;//123灯灭,4灯亮

delay(40);

IO1PIN = LED1|LED2|LED3|LED4 ;//1234灯全灭

delay(40);

}

return 0;

}

由此可见,用IOXPIN寄存器时发现LED4在闪烁,说明当把变量赋给IOXPIN寄存器时可以刷新

用IOSET寄存器时

int main(void)

{

initSystem();

while(1)

{

IO1SET = LED1|LED2|LED3;

delay(40);

IO1SET= LED1|LED2|LED3|LED4 ;

delay(40);

}

return 0;

}

发现LED4灯没有闪烁,说明IOXSET寄存器必须要IOCLR置一才能消去高电平。

 

下面请看数据手册中IOSET和IOCLR的解释

 

2.jpg

 

四、思考

数据手册告诉了我们。但是我发现IOPIN寄存器不只个状态寄存器,它也有别样的功能。程序在一定程度上可以简化,原来程序中,IOSET和IOCLR需要一起作用,如今只需要IOPIN一个寄存器就能解决了。

2012年6月19日

写于上海.松江

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

可外挂硬盘FLASH MP3播放器电路图

罗姆与英飞凌携手推进SiC功率器件封装兼容性

实现Stratix III FPGA和1,067-Mbps DDR3存储器的接口

视频 2010-03-17

从聚力向芯到生态共筑:以互联技术助力打造AI算力产业链闭环

华为发布《RAMS架构驱动ISP/MSP商业成功白皮书》

国际视野 2025-09-25

无缝升级嵌入式芯片AI能力!安谋科技Arm China推出新一代CPU IP“星辰”STAR-MC3

40-nm FPGA和8.5 Gbps收发器

视频 2010-03-17

马达驱动电路

Build up to 96-Port SGMII GigE With Stratix III FPGAs

视频 2010-03-17

上半年净利超1亿元的国内芯片设计公司有哪些?

EDA/PCB 2025-09-25

面向工业资产健康监测的新型边缘传感解决方案

理解ADC中的ENOB(有效位数):数字示波器动态性能的关键指标

​调频信号传输带宽的三种估计方法

苏泊尔电磁炉电路图

Comparing Stratix III and Virtex-5 Core Power

视频 2010-03-17

即插即用信号完整性视频演示

视频 2010-03-17

一百多种显示器电源电路图

一款实用的看门狗电路

摩尔斯微电子与普罗通信合作加速Wi-Fi HaLow市场普及

东芝推出采用最新一代工艺的100V N沟道功率MOSFET

更多 培训课堂
更多 焦点
更多 视频

技术专区