본문 바로가기
임베디드/KERNEL

GPIO 컨트롤

by sj0020 2020. 12. 24.

커널에서 가상주소를 알아서 mapping 시켜준다

 

// GPIO 설정 매크로
#define GPIO_IN(g)      ( *(gpio+((g)/10)) &= ~(7<<(((g)%10)*3)) )
#define GPIO_OUT(g)     ( *(gpio+((g)/10)) |= (1<<(((g)%10)*3))) )
#define GPIO_SET(g)     (*(gpio+7) = 1<<g)
#define GPIO_CLR(g)     (*(gpio+10) = 1<<g)
#define GPIO_GET(g)     (*(gpio+13) & (1<<g))

G는 GPIO핀

IN / OUT 입출력 설정

SET/ CLR은  digitalWtire 와 같은 기능 .. SET은 1 CLR는 0

GET은 digitalRead.. 값을 읽어옴

 

 

예) g=19

19/10 =1 

*1

GPIO Function SElect 1 .  처음 0번지에서 1떨어져 있으므로