mirror of
https://gitee.com/Polarix/simplegui.git
synced 2025-06-18 14:07:53 +00:00
86 lines
3.4 KiB
C
86 lines
3.4 KiB
C
![]() |
#ifndef _INCLUDE_MAPPING_H_
|
|||
|
#define _INCLUDE_MAPPING_H_
|
|||
|
|
|||
|
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
/*- GPIO<49>˿ڼĴ<DABC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -*/
|
|||
|
/*- <09><>ʽһ -*/
|
|||
|
/*- ʹ<><CAB9>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> -*/
|
|||
|
/*- #define KEY PA_IN(0) -*/
|
|||
|
/*- #define LED PB_OUT(1) -*/
|
|||
|
/*- -*/
|
|||
|
/*- <09><> -*/
|
|||
|
/*- -*/
|
|||
|
/*- #define LED BIT_ADDR(GPIOA_ODR_Addr,0) -*/
|
|||
|
/*- #define KEY BIT_ADDR(GPIOA_IDR_Addr,1) -*/
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
|
|||
|
//GPIO<49>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
|
|||
|
#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))
|
|||
|
//<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַӳ<D6B7><D3B3>
|
|||
|
#define GPIOA_ODR_Addr (GPIOA_BASE+12) //0x4001080C
|
|||
|
#define GPIOB_ODR_Addr (GPIOB_BASE+12) //0x40010C0C
|
|||
|
#define GPIOC_ODR_Addr (GPIOC_BASE+12) //0x4001100C
|
|||
|
#define GPIOD_ODR_Addr (GPIOD_BASE+12) //0x4001140C
|
|||
|
#define GPIOE_ODR_Addr (GPIOE_BASE+12) //0x4001180C
|
|||
|
#define GPIOF_ODR_Addr (GPIOF_BASE+12) //0x40011A0C
|
|||
|
#define GPIOG_ODR_Addr (GPIOG_BASE+12) //0x40011E0C
|
|||
|
//<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַӳ<D6B7><D3B3>
|
|||
|
#define GPIOA_IDR_Addr (GPIOA_BASE+8) //0x40010808
|
|||
|
#define GPIOB_IDR_Addr (GPIOB_BASE+8) //0x40010C08
|
|||
|
#define GPIOC_IDR_Addr (GPIOC_BASE+8) //0x40011008
|
|||
|
#define GPIOD_IDR_Addr (GPIOD_BASE+8) //0x40011408
|
|||
|
#define GPIOE_IDR_Addr (GPIOE_BASE+8) //0x40011808
|
|||
|
#define GPIOF_IDR_Addr (GPIOF_BASE+8) //0x40011A08
|
|||
|
#define GPIOG_IDR_Addr (GPIOG_BASE+8) //0x40011E08
|
|||
|
|
|||
|
//GPIO<49>˿ڲ<CBBF><DAB2><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8>
|
|||
|
//GPIO A
|
|||
|
#define PA_OUT(n) BIT_ADDR(GPIOA_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PA_IN(n) BIT_ADDR(GPIOA_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
//GPIO B
|
|||
|
#define PB_OUT(n) BIT_ADDR(GPIOB_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PB_IN(n) BIT_ADDR(GPIOB_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
//GPIO C
|
|||
|
#define PC_OUT(n) BIT_ADDR(GPIOC_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PC_IN(n) BIT_ADDR(GPIOC_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
//GPIO D
|
|||
|
#define PD_OUT(n) BIT_ADDR(GPIOD_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PD_IN(n) BIT_ADDR(GPIOD_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
//GPIO E
|
|||
|
#define PE_OUT(n) BIT_ADDR(GPIOE_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PE_IN(n) BIT_ADDR(GPIOE_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
//GPIO F
|
|||
|
#define PF_OUT(n) BIT_ADDR(GPIOF_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PF_IN(n) BIT_ADDR(GPIOF_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
//GPIO G
|
|||
|
#define PG_OUT(n) BIT_ADDR(GPIOG_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#define PG_IN(n) BIT_ADDR(GPIOG_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
/*- GPIO<49>˿ڼĴ<DABC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -*/
|
|||
|
/*- <09><>ʽ<EFBFBD><CABD> -*/
|
|||
|
/*- ʹ<><CAB9>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> -*/
|
|||
|
/*- #define LED1 BIT_BAND(&GPIOB->ODR,0) -*/
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
/*-------------------------------------------------------------------*/
|
|||
|
|
|||
|
/****************<2A>ڶ<EFBFBD><DAB6><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʵͣ<CAB5><CDA3><EFBFBD>ʹ<EFBFBD>÷<EFBFBD><C3B7>㣬IO <20><><EFBFBD>ԷDz<D4B7><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>磺 LED = !LED)****************/
|
|||
|
|
|||
|
#ifndef HWREG
|
|||
|
#define HWREG(x) (*((volatile unsigned long *)(x)))
|
|||
|
#endif
|
|||
|
#ifndef HWREGBITW
|
|||
|
#define HWREGBITW(x, b) HWREG( ((unsigned long)(x) & 0xF0000000) | 0x02000000 | (((unsigned long)(x) & 0x000FFFFF) << 5) | ((b) << 2))
|
|||
|
#endif
|
|||
|
|
|||
|
#define BIT_BAND(A,B) HWREGBITW(A,B)
|
|||
|
|
|||
|
#endif
|