其实这篇文章主要是介绍自己为其写的GPIO库,自己借鉴了原子写的STM32,野火写的K60,还有LPC官方库,然后按照自己平时用的,然后写了一个..其实写库的主要目的是为了方便(主要是方便操作)以后自己用,还想着分享给别人用,加快项目开发的速度,,本想着后期的各种功能库都自己写一套...不过就今天看来应该到此为止了.......

其实现在也没心情介绍了,直接说一下有什么实用的功能

第一点哈,支持位带操作

大学生就业培训,高中生培训,在职人员转行培训,企业团训

//IO口操作宏定义#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr)) 
#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum)) 

//IO口地址映射#define GPIO0_PIN_Addr    (LPC_GPIO0_BASE+20) 
#define GPIO1_PIN_Addr    (LPC_GPIO1_BASE+20)#define GPIO2_PIN_Addr    (LPC_GPIO2_BASE+20)#define GPIO3_PIN_Addr    (LPC_GPIO3_BASE+20)#define GPIO4_PIN_Addr    (LPC_GPIO4_BASE+20)#define GPIO5_PIN_Addr    (LPC_GPIO5_BASE+20)    

#define P0out(n)   BIT_ADDR(GPIO0_PIN_Addr,n)  //输出#define P0in(n)    BIT_ADDR(GPIO0_PIN_Addr,n)  //输入#define P1out(n)   BIT_ADDR(GPIO1_PIN_Addr,n)  //输出#define P1in(n)    BIT_ADDR(GPIO1_PIN_Addr,n)  //输入#define P2out(n)  &nb
        
		

网友评论