본문 바로가기

[MCU]/CANTUS

[CANTUS EVM] GPIO를 이용한 LED테스트

[CANTUS EVM] GPIO를 이용한 LED테스트

CANTUS의 GPIO는 아래 그림과 같은 구조이다.
구조는 그리 복잡하지 않은데... 한가지 아쉬운점은 Data 레지스터가 HIGH레지스터, LOW레지스터로 나누어져 있어 데이터버스처럼 쓰기가 효율적이지 못한점과 토글할때도 번거러운점이 있다.



GPIO기능설정
각포트는 여러기능을 할 수 있기 때문에 먼저 PAFx레지스터에 GPIO모드로 사용할것을 설정하는 것이 필요하다.




GPIO방향 설정
GPIO의 입출력 방향 설정은 DIR레지스터로 설정 가능하다.

#define Led1Init()     Sbi(*R_PAF5, (3<<(2*4)));Sbi(*R_P5oDIR, LED1_BIT)


[CANTUS EVM] 보드의 LED회로도



[CANTUS EVM] LED 드라이버 코드
//-----------------------------------------------------------------------------
// On board LED
#define LED1_BIT     BIT4
#define LED1_PORT

#define Led1Init()     Sbi(*R_PAF5, (3<<(2*4)));Sbi(*R_P5oDIR, LED1_BIT)
#define Led1Off()     sbi(*R_P5oHIGH, LED1_BIT)
#define Led1On()     cbi(*R_P5oLOW, LED1_BIT)

#define LED2_BIT     BIT5
#define LED2_PORT

#define Led2Init()     Sbi(*R_PAF5, (3<<(2*5)))F;Sbi(*R_P5oDIR, LED2_BIT)
#define Led2Off()     sbi(*R_P5oHIGH, LED2_BIT)
#define Led2On()     cbi(*R_P5oLOW, LED2_BIT)
//-----------------------------------------------------------------------------
반응형