3
나는이 코드를 example에서 C gpio 예제로 사용 해왔다. 나는 설치에 수 있어요와 정의에 문제없이 핀에 쓰기 :읽기 핀 수준의 라즈베리 파이
// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)
#define INP_GPIO(g) *(gpio+((g)/10)) &= ~(7<<(((g)%10)*3))
#define OUT_GPIO(g) *(gpio+((g)/10)) |= (1<<(((g)%10)*3))
#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)<=3?(a)+4:(a)==4?3:2)<<(((g)%10)*3))
#define GPIO_SET *(gpio+7) // sets bits which are 1 ignores bits which are 0
#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0
및
INP_GPIO(4); // must use INP_GPIO before we can use OUT_GPIO
OUT_GPIO(4);
GPIO_SET = 1<<4;
이 잘 작동합니다. 그러나 핀에서 읽으려면 무엇을해야할지 모르겠습니다. 내가 gpio + thePin
를 돌려서 그것을 읽으려고 노력했다. 그러나 나는 그것이 나에게 주소가 아니라 값을주고 있다고 생각한다. 나는 포인터를 반환하려고했지만 그것은 나에게 쓰레기 (-232783856)도 주었다.
핀에서 값을 읽는 방법에 대한 아이디어가 있으십니까?