2801|4

14

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

LPC1114学习笔记1——GPIO操作 [复制链接]

本帖最后由 yuanpooo 于 2014-5-12 16:41 编辑

最近买了块TinyM0,放了一个多月没用,这两天用了下,对GPIO管脚进行了一些宏定义,使其可以像51一样进行读写,当然,还是有些区别的。先上代码:
  1. #ifndef __LPC11XX_GPIO_H__
  2. #define __LPC11XX_GPIO_H__

  3. #include "lpc11xx.h"



  4. #define TO_MEMORY_ADDR(AddrValue)        *((volatile unsigned long *)(AddrValue))

  5. //GPIO管脚快捷操作的宏定义
  6. //演示,已GPIO2_7为例
  7. //输出0:P2(7) = 0;                输出1:P2(7) = 1<<7; 或者 P2(7) = 0xffff;
  8. //读入:x = P2(7);                当输入为0时,读入为0;当输入为1时,读入为1<<7
  9. //BitNumber 必须小于12
  10. #define P0(BitNumber)  (TO_MEMORY_ADDR(LPC_GPIO0_BASE + (0x00000004<<BitNumber)))
  11. #define P1(BitNumber)  (TO_MEMORY_ADDR(LPC_GPIO1_BASE + (0x00000004<<BitNumber)))
  12. #define P2(BitNumber)  (TO_MEMORY_ADDR(LPC_GPIO2_BASE + (0x00000004<<BitNumber)))
  13. #define P3(BitNumber)  (TO_MEMORY_ADDR(LPC_GPIO3_BASE + (0x00000004<<BitNumber)))


  14. #endif
复制代码



附件是一个工程,基于TinyM0的一个操作LED闪烁的例子,就是利用上面的宏定义进行操作的,部分代码如下:

  1. #define LED P2(7)
  2. int main(void)
  3. {
  4.         uint8_t i = 10;        
  5.         //配置系统时钟
  6.         SystemInit();        
  7.         LED_Init();
  8.                
  9.         while (1)
  10.         {
  11.                 while (i--)
  12.                 {               
  13.                         LED = 0;                //点亮
  14.                         myDelay(100);                        
  15.                         LED = 0xffff;        //熄灭               
  16.                         myDelay(100);                                                
  17.                 }               
  18.                 i = 5;
  19.                                 
  20.                 while (i--)
  21.                 {
  22.                         LED = 0;                //点亮
  23.                         myDelay(500);                        
  24.                         LED = 1<<7;                //熄灭
  25.                         myDelay(500);                                                
  26.                 }               
  27.                 i = 10;
  28.         }
  29. }
复制代码




LPC1114_T1_GPIO.rar

47.73 KB, 下载次数: 22

此帖出自NXP MCU论坛

最新回复

有用的资料  收藏  详情 回复 发表于 2014-6-26 11:06

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

14

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己沙发~~~~~~~~~~·
此帖出自NXP MCU论坛
 
 
 

回复

1119

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
来捧个场~~~~
此帖出自NXP MCU论坛
 
 
 

回复

2

帖子

5

TA的资源

一粒金砂(初级)

4
 
来看看喽!
此帖出自NXP MCU论坛
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

5
 
有用的资料  收藏
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表