Cortex-M3 (NXP LPC1788)之GPIO

发布者:心有归属最新更新时间:2016-05-26 来源: eefocus关键字:Cortex-M3  NXP  LPC1788  GPIO 手机看文章 扫描二维码
随时随地手机看文章

        经过前一篇的分析,现在可以进入C环境进行各个模块的学习。首先进行简单的GPIO控制LED灯的操作,开发板通过GPIO1.18控制LED灯,电路如下图:

GPIO_LED

        为了对LPC1788的内部结构有更好的理解和学习,虽然NXP给出了封装好的库函数,但是我将自己编写代码便于直接对内部原理进行分析。代码如下

 

  1. #define rFIO1DIR    (*(volatile unsigned*)0x20098020) //高速GPIO 方向控制寄存器,用于配置管脚的输入或输出,默认为输入  
  2. #define rFIO1MASK   (*(volatile unsigned*)0x20098030) //高速GPIO 屏蔽寄存器,被屏蔽的位将不能进行GPIO的控制操作,默认无效  
  3. #define rFIO1PIN    (*(volatile unsigned*)0x20098034) //高速GPIO 管脚值寄存器,可以操作未被FIOXMASK屏蔽的GPIO端口  
  4. #define rFIO1SET    (*(volatile unsigned*)0x20098038) //高速GPIO 管脚置位寄存器,置一操作使相应位输出高电平  
  5. #define rFIO1CLR    (*(volatile unsigned*)0x2009803c) //高速GPIO 管脚清楚寄存器,置一操作使相应位输出低电平  
  6.   
  7. void Delay(int);  
  8. int main(void)  
  9. {  
  10.     rFIO1DIR |= (1<<18);//GPIO1.18 -> OUTPUT  
  11.     while(1)  
  12.     {  
  13.         rFIO1SET |= (1<<18);//输出高电平 可以用 rFIO1PIN |= (1<<18);   
  14.         Delay(500000);  
  15.         rFIO1CLR |= (1<<18);//输出低电平 可以用 rFIO1PIN &= ~(1<<18);  
  16.         Delay(500000);  
  17.     }  
  18.               
  19. }  
  20.   
  21. void Delay(int i)  
  22. {  
  23.     int k;  
  24.     for(k=0; k
  25. }  
  26.   
  27.   
  28. void SystemInit (void)  
  29. {  
  30.       
  31. }  

 

        程序比较简单,对于GPIO的操作我们可以使用输出置位寄存器FIOXSET和输出清零寄存器FIOXCLR进行操作,也可以直接使用GPIO管脚值寄存器FIOXPIN进行操作。程序最后写了一个void SystemInit(void)空函数,是因为在启动程序startup_LPC177x_8x.S中 IMPORT  SystemInit 声明了一个外部函数,并且LDR     R0, =SystemInit执行该函数。如果不定义该函数编译会报错。 我们可以在该函数中进行LPC1788的时钟初始化。我们的程序中没有进行初始化,根据LPC1788的数据手册,系统上电或任何复位,将使用内部的IRC作为时钟源。而后可以在软件上进行切换,而该切换就可以在void SystemInit(void)中实现。

        最后可以使用之前环境搭建中介绍的进行Debug调试或者下载程序。

关键字:Cortex-M3  NXP  LPC1788  GPIO 引用地址:Cortex-M3 (NXP LPC1788)之GPIO

上一篇:Cortex-M3 (NXP LPC1788)之SysTick系统节拍定时器
下一篇:Cortex-M3 (NXP LPC1788)之启动代码分析

推荐阅读最新更新时间:2024-03-16 14:55

恩智浦发家史:汽车半导体王者是如何炼成的?
被觊觎已久的汽车半导体宠儿 2022年年初,半导体行业再次传出一则重磅消息,坐拥千亿美元现金的三星电子有望很快宣布大规模并购(M&A)交易。在此次交易名单上,汽车半导体巨头恩智浦赫然在列。最近几年,几乎每一年都会传出三星即将进行大规模并购的消息,而每一次恩智浦都是其中标的之一。 但其实三星并不是第一个对恩智浦感兴趣的,早在2016年10月,恩智浦就已经被手机芯片巨头高通看上了。当时,高通宣布以440亿美元收购恩智浦。不过遗憾的是,这笔半导体行业史上最大并购案最终以失败告终。 从这两次并购来说,业内对恩智浦的价值是有共识的。那么,问题来了,被诸多半导体巨头垂涎的恩智浦,到底有何魅力? 站在巨人飞利浦的肩膀上 这还
[汽车电子]
<font color='red'>恩智浦</font>发家史:汽车半导体王者是如何炼成的?
STM32F103ZET6 —— GPIO
STM32 的 GPIO 可以由软件配置成为几种不同的模式,每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问: A. 芯片侧: 1. 输入: 2. 输出: B. 硬件侧: 对应的单板,有两个GPIO连接到LED上: 使用的是 GPIO 的 Port G 的 Pin13 和 Pin14 脚 C. 代码侧: 配置上述两个 GPIO 工作需要的步骤如下: 1. 使能对应的 GPIO_G 的时钟 2. 配置 GPIO_G13/GPIO_G14 为通用推挽输出,配置口线翻转速度50M 3. 配置完成后,设置端口的输出为1/0即可控制 GPIO 的输出。 1. 时钟设置:
[单片机]
STM32F103ZET6 —— <font color='red'>GPIO</font>
MSP430FR4133练习(一):GPIO输入电平状态判断
硬件环境:MSP430FR4133 LANCHPAD开发板 软件环境:IARV7.10 For 430 源代码: 1 #include driverlib.h 2 3 void main(void) 4 { 5 //Stop WDT 6 WDT_A_hold(WDT_A_BASE); 7 while(1) 8 { 9 //设置P1.0为输出,接LED 10 GPIO_setAsOutputPin( GPIO_PORT_P1,GPIO_PIN0 ); 11 //设置P4.0为输出,接LED 12 GPIO_setAsOutputPin( GPIO_PORT_P4,GPIO_PI
[单片机]
恩智浦2015年第一季度财务业绩概要
荷兰埃因霍温/中国上海,2015年5月4日讯 恩智浦半导体(纳斯达克代码:NXPI)发布2015年第一季度(截至2015年4月5日)的财务业绩。公司第一季度的总收入为14.7亿美元,同比增长18%,环比降低5%。 恩智浦首席执行官Richard Clemmer指出: 恩智浦第一季度财务表现强劲。我们的产品组合表现超出预期,带动了盈利能力的显著增长。
[半导体设计/制造]
MSP432库函数学习笔记-GPIO
1,GPIO模式设置,PxDIR寄存器 void GPIO_setAsOutputPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins); //设置GPIO为输出模式 void GPIO_setAsInputPin(uint_fast8_t selectedPort,uint_fast16_t selectedPins); //设置GPIO为输入模式 可设置的GPIO口可参考库函数注释 2,GPIO复用功能配置,PxSEL寄存器 void GPIO_setAsPeripheralModuleFunctionOutputPin(uint_fast8_t select
[单片机]
恩智浦和咏发科技合作,推出用于便携式电视的超低功耗DVB-T前端解决方案
开始推动free-to-air数字电视在所有手持及便携式多媒体设备中的采用 Computex 2007,中国台湾,2007年6月5日 ——恩智浦半导体(NXP Semiconductors)(由飞利浦创建的独立半导体公司)今天宣布与台湾设计公司咏发科技合作,共同开发用于便携式设备的超低功耗DVB-T前端解决方案。今天发布的这一合作平台的第一个产品DB216集成了恩智浦的超低功耗硅调谐器TDA18291及咏发全新的解调器AF9035,为高质量的电视观赏体验提供了高度集成的很小的产品尺寸、低成本和低功耗解决方案。两家公司同时发布了集成在一个USB上的DB214参考设计,同传统的调谐器相比,它在画面质量方面作了进一步提高,同时实现了
[新品]
基于Cortex-M3的无线电表采集器的研制
1.引言 如今,随着信息化应用的发展,将无线通信技术、智能采集技术和自动控制技术综合应用于现代企业信息化管理,已成为一种趋势。 企业也迫切需要将各种有利于提高生产效率的信息因素收集汇总,用于分析与管理,而设备的消耗电能与运行时间正是十分重要的一种生产信息。本文所设计的电表采集器是生产采集系统的核心部件,通过电表上的通讯接口,实时地读取表中的数据,并通过无线网络将数据传送到服务器中。这使得企业能够及时准确地了解生产运行情况,在避免手工抄表中不及时和易出错情况的同时,也为合理利用资源及有效维护设备提供了丰富的数据支持。 2.采集系统的结构 近年来,电表的数字化程度越来越高,大多提供标准的通信总线结构,便于设计人员编程实
[电源管理]
基于<font color='red'>Cortex-M3</font>的无线电表采集器的研制
基于NXP STARplug系列芯片的LED彩灯控制方案
LED是一种性能优良的显示器件,具有寿命长、节电、高亮度、多种发光颜色、响应速度快和驱动电压低等优点,在节省能源的同时还可以通过PWM器件调节LED发光强度,依据R、G、B三原色混光原理调出多种颜色,再通过MCU智能控制实现多种显示效果。现正大量应用于城市亮化、建筑景观照明、舞台灯光设计等领域。 主要芯片:PCA9633/34/35:NXP I2总线RGB/RGBA LED闪烁/混光芯片;TEA152x:NXP电源芯片;LPC92x:NXP 900系列MCU;P82B96/PCA9600:NXP I2C总线驱动芯片。 1. 点光源:应用LED彩色屏显示原理,将其像素放大,降低整体造价成本,每个模块为一个彩色
[工业控制]
基于<font color='red'>NXP</font> STARplug系列芯片的LED彩灯控制方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved