[EMF32] GPIO 테스트
EFM32는 Cortex-M3이므로 GPIO도 특별할것은 없지만 레지스터명은 EnergyMicro사에서 제공하는 이름을 사용하는것이 편리하다.
기존 코드와 호환을 위해 랩핑함수를 만들어 보았다.
#define GPIOA (pGPIO->P[0])
#define GPIOB (pGPIO->P[1])
#define GPIOC (pGPIO->P[2])
#define GPIOD (pGPIO->P[3])
#define GPIOE (pGPIO->P[4])
#define sbi(Port, Bit) (Port.DOUTSET = Bit)
#define cbi(Port, Bit) (Port.DOUTCLR = Bit)
#define tbi(Port, Bit) (Port.DOUTTGL = Bit)
EFM32 LED 드라이버 코드
//-----------------------------------------------------------------------------
//LED Driver
#define LED1_BIT BIT0
#define LED1_PORT GPIOC
#define Led1Init()
#define Led1Off() sbi(LED1_PORT, LED1_BIT)
#define Led1On() cbi(LED1_PORT, LED1_BIT)
#define Led1Toggle() tbi(LED1_PORT, LED1_BIT)
#define Led1Init() CMU->HFPERCLKEN0 |= CMU_HFPERCLKEN0_GPIO;\
Sbi(GPIOC.MODEL, GPIO_P_MODEL_MODE0_PUSHPULL);
//-----------------------------------------------------------------------------