[mw_shl_code=c,true]#define BITBAND (GPIO,PIN) ((GPIO&0xf0000000)+0x2000000+((GPIO&0xfffff)<<5+(PIN<<2)))
#define MEM_ADDR(addr) *((volatile unsigned long * ) addr)
#define BIT_Addr(GPIO,PIN) MEM_ADDR (BITBAND(GPIO,PIN) )
#define GPIOA_ODR_Addr GPIOA_BASE+12
#define GPIOB_ODR_Addr GPIOB_BASE+12
#define GPIOC_ODR_Addr GPIOC_BASE+12
#define GPIOD_ODR_Addr GPIOD_BASE+12
#define GPIOE_ODR_Addr GPIOE_BASE+12
#define GPIOF_ODR_Addr GPIOF_BASE+12
#define GPIOG_ODR_Addr GPIOG_BASE+12
#define GPIOA_IDR_Addr GPIOA_BASE+8
#define GPIOB_IDR_Addr GPIOB_BASE+8
#define GPIOC_IDR_Addr GPIOC_BASE+8
#define GPIOD_IDR_Addr GPIOD_BASE+8
#define GPIOE_IDR_Addr GPIOE_BASE+8
#define GPIOF_IDR_Addr GPIOF_BASE+8
#define GPIOG_IDR_Addr GPIOG_BASE+8
#define PAOut(PIN) BIT_Addr(GPIOA_ODR_Addr,PIN)
#define PBOut(PIN) BIT_Addr(GPIOB_ODR_Addr,PIN)
#define PCOut(PIN) BIT_Addr(GPIOC_ODR_Addr,PIN)
#define PDOut(PIN) BIT_Addr(GPIOD_ODR_Addr,PIN)// BIT_Addr(GPIOD_ODR_Addr,PIN)
#define PEOut(PIN) BIT_Addr(GPIOE_ODR_Addr,PIN)
#define PFOut(PIN) BIT_Addr(GPIOF_ODR_Addr,PIN)
#define PGOut(PIN) BIT_Addr(GPIOG_ODR_Addr,PIN)
#define PAIn(PIN) BIT_Addr(GPIOA_IDR_Addr,PIN)
#define PBIn(PIN) BIT_Addr(GPIOB_IDR_Addr,PIN)
#define PCIn(PIN) BIT_Addr(GPIOC_IDR_Addr,PIN)
#define PDIn(PIN) BIT_Addr(GPIOD_IDR_Addr,PIN)
#define PEIn(PIN) BIT_Addr(GPIOE_IDR_Addr,PIN)
#define PFIn(PIN) BIT_Addr(GPIOF_IDR_Addr,PIN)
#define PGIn(PIN) BIT_Addr(GPIOG_IDR_Addr,PIN)
int main()
{
GPIO_InitTypeDef gpio;
[mw_shl_code=c,true]PAOut(1)=1;[/mw_shl_code]
[/mw_shl_code]
为什么这个
[mw_shl_code=c,true]PAOut(1)=1;[/mw_shl_code]
就是不对啊
|