From 5e539f4e7015f13bf14fde95e5e4d51f41475e66 Mon Sep 17 00:00:00 2001 From: tecodev Date: Fri, 1 Jun 2007 08:08:53 +0000 Subject: [PATCH] * device/lib/pic/libdev/pic12f683.c, * device/include/pic/pic12f683.h: added GPIO bits git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4823 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 ++++ device/include/pic/pic12f683.h | 39 +++++++++++++++++++++++++++++++ device/lib/pic/libdev/pic12f683.c | 1 + 3 files changed, 45 insertions(+) diff --git a/ChangeLog b/ChangeLog index a6eec059..bf19116f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-01 Raphael Neider + + * device/lib/pic/libdev/pic12f683.c, + * device/include/pic/pic12f683.h: added GPIO bits + 2007-06-01 Raphael Neider * doc/sdccman.lyx: added --disable-pic16-port, fixed some `--' and diff --git a/device/include/pic/pic12f683.h b/device/include/pic/pic12f683.h index f8c12be0..7e7a4e1f 100644 --- a/device/include/pic/pic12f683.h +++ b/device/include/pic/pic12f683.h @@ -95,6 +95,7 @@ // Revision History // //========================================================================== +//1.01 01/05/07 GPIO Bits //1.00 12/09/03 Original //========================================================================== @@ -433,6 +434,44 @@ extern volatile __EECON1_bits_t __at(EECON1_ADDR) EECON1_bits; #define WREN EECON1_bits.WREN #define WRERR EECON1_bits.WRERR +// ----- GPIO bits -------------------- +typedef union { + struct { + unsigned char GP0:1; + unsigned char GP1:1; + unsigned char GP2:1; + unsigned char GP3:1; + unsigned char GP4:1; + unsigned char GP5:1; + unsigned char :1; + unsigned char :1; + }; + struct { + unsigned char GPIO0:1; + unsigned char GPIO1:1; + unsigned char GPIO2:1; + unsigned char GPIO3:1; + unsigned char GPIO4:1; + unsigned char GPIO5:1; + unsigned char :1; + unsigned char :1; + }; +} __GPIO_bits_t; +extern volatile __GPIO_bits_t __at(GPIO_ADDR) GPIO_bits; + +#define GP0 GPIO_bits.GP0 +#define GPIO0 GPIO_bits.GPIO0 +#define GP1 GPIO_bits.GP1 +#define GPIO1 GPIO_bits.GPIO1 +#define GP2 GPIO_bits.GP2 +#define GPIO2 GPIO_bits.GPIO2 +#define GP3 GPIO_bits.GP3 +#define GPIO3 GPIO_bits.GPIO3 +#define GP4 GPIO_bits.GP4 +#define GPIO4 GPIO_bits.GPIO4 +#define GP5 GPIO_bits.GP5 +#define GPIO5 GPIO_bits.GPIO5 + // ----- INTCON bits -------------------- typedef union { struct { diff --git a/device/lib/pic/libdev/pic12f683.c b/device/lib/pic/libdev/pic12f683.c index 6631c9cc..a62112d1 100644 --- a/device/lib/pic/libdev/pic12f683.c +++ b/device/lib/pic/libdev/pic12f683.c @@ -56,6 +56,7 @@ volatile __CCP1CON_bits_t __at(CCP1CON_ADDR) CCP1CON_bits; volatile __CMCON0_bits_t __at(CMCON0_ADDR) CMCON0_bits; volatile __CMCON1_bits_t __at(CMCON1_ADDR) CMCON1_bits; volatile __EECON1_bits_t __at(EECON1_ADDR) EECON1_bits; +volatile __GPIO_bits_t __at(GPIO_ADDR) GPIO_bits; volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits; volatile __IOC_bits_t __at(IOC_ADDR) IOC_bits; volatile __IOCA_bits_t __at(IOCA_ADDR) IOCA_bits; -- 2.30.2