도와주세요!!
글 수 15,339
2002.05.21 10:57:26 (*.186.48.184)
7397
우선 ezboard_gpio_read 함수에서 len 인자의 크기는 1 ~ 4 까지 이겠지요..
그이상의 값은 쓰레기 값이 들어가겠군요..
GPCR 과 GPSR 은 하나만 쓰기를 해도 됩니다. 나중에 쓰여지는게 우선하죠..
예를 들면 GPCR = 0x01 하면 GPIO0 는 0이 되고
GPSR = 0x01 하면 GPIO0 는 1이 됩니다.
출력의 경우
GPIO 는 최대 28bt 니까 32bit 라고 생각하고 다음과 같이 출력해야 합니다.
GPCR = ~(data);
GPSR = data;
하드웨어적으로 보면 GPIO7 ~ GPIO0 까지는 LED가 붙어있습니다.
이런 연결까지 고려 하셨겠죠.. 제가 생각하기에는 LED 있는 상태에서
풀다운 없이 GPIO 에 그라운드와 스위치만 연결하면 될것같군요..
VCC
|
Registance
|
Diode
|
+---SW-----+---------- GPIO
|
GND
출력이 16비트만 나오는 것은 ezboard_gpio_write 함수에서
님의 코딩이 이렇게 되있군요,..
GPCR |= (u_int16_t) (GPCR | c) ; // 16비트로 타입케스트 되있음
GPSR |= (u_int16_t) (GPSR | c) ; // 16비트로 타입케스트 되있음