도와주세요!!
글 수 15,339
2006.09.28 11:43:35 (*.141.98.11)
6740
안녕하세요...
어드레스를 4byte가 아닌 1byte단위로 제어하고 싶다라는 말이 이해가 잘 되지 않네요..
그리고 A0를 왜 설정하고 있는지도 이해가 되지 않습니다.
LED의 경우 칩에 연결된 주소가 0xf300_3000 이므로 이 주소에 데이타를 쓰면 LED가 출력됩니다.
unsigned char *ioptr;
ioptr = (volatile unsigned char *) 0xf3003000;
*ioptr = 0x01; 또는 *ioptr = 0xFE;
이렇게 하시면 됩니다..
Switch의 경우에는 칩에 연결된 주소가 0xf300_2000 이므로 이 주소에 데이타를 읽어 오면 됩니다.
unsigned char *ioptr;
char cc;
ioptr = (volatile unsigned char *) 0xf3002000;
cc = *ioptr;
이렇게 하시면 됩니다.
위의 설명은 디바이스드라이버에서 직접 제어하는 것을 설명한것입니다.
만약 디바이스드라이버와 어플에 대한 자세한 소스는 제공된 CD의 sw/prg/port/v01 에 보시면 예제 소스가 있습니다..
그럼 수고하세요..
>EZ-X5와 EZ-ETIO보드를 가지고 LED와 Switch Read/Write를 하고 있습니다.
>
>LED 어드레스는 0xf300_3000이고, Switch 어드레스틑 0xf300_2000으로 되어있습니다.
>LED에 0x00를 쓰기 위해 "0xf300_3001"번지에 값을 쓰면 A0값이 High로 됩니다.
>그러나 Switch값을 읽어오기 위해서 "0xf300_2001번지를 읽어오면 "A0" 값이 High로 안되고 계속 Low로 되있습니다.
>
>어드레스를 4byte가 아닌 1byte단위로 제어하고 싶습니다.
>dio 디바이스 드라이버쪽을 수정해야 되는지?
>조언바랍니다.
어드레스를 4byte가 아닌 1byte단위로 제어하고 싶다라는 말이 이해가 잘 되지 않네요..
그리고 A0를 왜 설정하고 있는지도 이해가 되지 않습니다.
LED의 경우 칩에 연결된 주소가 0xf300_3000 이므로 이 주소에 데이타를 쓰면 LED가 출력됩니다.
unsigned char *ioptr;
ioptr = (volatile unsigned char *) 0xf3003000;
*ioptr = 0x01; 또는 *ioptr = 0xFE;
이렇게 하시면 됩니다..
Switch의 경우에는 칩에 연결된 주소가 0xf300_2000 이므로 이 주소에 데이타를 읽어 오면 됩니다.
unsigned char *ioptr;
char cc;
ioptr = (volatile unsigned char *) 0xf3002000;
cc = *ioptr;
이렇게 하시면 됩니다.
위의 설명은 디바이스드라이버에서 직접 제어하는 것을 설명한것입니다.
만약 디바이스드라이버와 어플에 대한 자세한 소스는 제공된 CD의 sw/prg/port/v01 에 보시면 예제 소스가 있습니다..
그럼 수고하세요..
>EZ-X5와 EZ-ETIO보드를 가지고 LED와 Switch Read/Write를 하고 있습니다.
>
>LED 어드레스는 0xf300_3000이고, Switch 어드레스틑 0xf300_2000으로 되어있습니다.
>LED에 0x00를 쓰기 위해 "0xf300_3001"번지에 값을 쓰면 A0값이 High로 됩니다.
>그러나 Switch값을 읽어오기 위해서 "0xf300_2001번지를 읽어오면 "A0" 값이 High로 안되고 계속 Low로 되있습니다.
>
>어드레스를 4byte가 아닌 1byte단위로 제어하고 싶습니다.
>dio 디바이스 드라이버쪽을 수정해야 되는지?
>조언바랍니다.