#ifndef PORT_H_ #define PORT_H_ #ifndef __at #define __at(_addr) __attribute__ ((at(_addr))) #endif #ifndef __section #define __section(_name) __attribute__ ((section(_name))) #endif #include "stm32f10x.h" //绝对地址定位变量 #define BITBAND(addr, bitnum) (((addr & 0xF0000000)+0x2000000 + ((addr &0xFFFFF)<<5) + (bitnum<<2))) #define MEM_ADDR(addr) *((volatile unsigned long *) addr) extern volatile uint32_t PA8_I; extern volatile uint32_t PA0_I; extern volatile uint32_t PB1_I; extern volatile uint32_t PB2_I; extern volatile uint32_t PA1_O ; extern volatile uint32_t PA2_O ; extern volatile uint32_t PA8_O; extern volatile uint32_t PA12_O; extern volatile uint32_t PA0_O; extern volatile uint32_t PB3_O; extern volatile uint32_t PB4_O; extern volatile uint32_t PB5_O; extern volatile uint32_t PB6_O; extern volatile uint32_t PB7_O; extern volatile uint32_t PB8_O; extern volatile uint32_t PB9_O; extern volatile uint32_t PB14_I; extern volatile uint32_t PB15_I; extern volatile uint32_t PC13_I; extern volatile uint32_t PC15_O; extern volatile uint32_t PG15_O ;// __at (BITBAND((int)&(GPIOB->ODR),15)); extern volatile uint32_t PG13_O ;// __at (BITBAND((int)&(GPIOB->ODR),13)); extern volatile uint32_t PG11_O ;// __at (BITBAND((int)&(GPIOC->ODR),11)); extern volatile uint32_t PG9_O ;//__at (BITBAND((int)&(GPIOC->ODR),9)); #endif /* PORT_H_ */