
도와주세요!!
글 수 15,339
2002.07.24 18:42:41 (*.246.22.96)
8018
UART3 를 이용해서 간단한 테스트를 하던 중...
막히는 부분이 있어서.. 이렇게 글을 올립니다.
초기화 부분에서 ezboot의
SerialInit( baud115k2 );
Ser3UTCR3 = Ser3UTCR3 | UTCR_RID;
를 수행했구요...
receiver가 작동가능하고, receive FIFO가 비어있지 않고,
3 frame 주기 동안 data 를 받지 않으면, idle interrupt가 생기는 거 맞죠?
이 동작은 키보드로 한문자만 넣어서 idle interrupt를 발생시켰구요..
IRQ로 가서, 해당 처리 루틴으로 가는데...
여기서 해주고 싶은것은 RID를 low로 바꾸고 싶은데, (물론 매뉴얼에는
read/write 라고 명시되어 있습니다.), 그래서 아래와 같이
Ser3UTCR3 = Ser3UTCR3 & ~UTCR_RID;
수행했습니다. 그런데 여전히 RID는 high상태입니다.
물론 RIE를 low로 만들면 되지만, 계속 RFS나 RID에 의해 발생되는
Serial Port 3 에 해당하는 인터럽트를 사용하려고 하거든요..
RXE, TXE 등등의 control, data, status register를 다시 초기화 해야 하나요?
어떤 방법이 있을까요?
아님 참고할 매뉴얼(물론 sa1110매뉴얼은 있는데.. 몇번 찾아봐도 원하는 글
이 없는것 같구요/...)이나 문서의 일부를 알려주시면 감사하겠습니다.
비가 오늘은 안오네요.. 하늘은 여전히 찌뿌등하고...
그래도 즐거운 하루되시구요, 수고하세요
막히는 부분이 있어서.. 이렇게 글을 올립니다.
초기화 부분에서 ezboot의
SerialInit( baud115k2 );
Ser3UTCR3 = Ser3UTCR3 | UTCR_RID;
를 수행했구요...
receiver가 작동가능하고, receive FIFO가 비어있지 않고,
3 frame 주기 동안 data 를 받지 않으면, idle interrupt가 생기는 거 맞죠?
이 동작은 키보드로 한문자만 넣어서 idle interrupt를 발생시켰구요..
IRQ로 가서, 해당 처리 루틴으로 가는데...
여기서 해주고 싶은것은 RID를 low로 바꾸고 싶은데, (물론 매뉴얼에는
read/write 라고 명시되어 있습니다.), 그래서 아래와 같이
Ser3UTCR3 = Ser3UTCR3 & ~UTCR_RID;
수행했습니다. 그런데 여전히 RID는 high상태입니다.
물론 RIE를 low로 만들면 되지만, 계속 RFS나 RID에 의해 발생되는
Serial Port 3 에 해당하는 인터럽트를 사용하려고 하거든요..
RXE, TXE 등등의 control, data, status register를 다시 초기화 해야 하나요?
어떤 방법이 있을까요?
아님 참고할 매뉴얼(물론 sa1110매뉴얼은 있는데.. 몇번 찾아봐도 원하는 글
이 없는것 같구요/...)이나 문서의 일부를 알려주시면 감사하겠습니다.
비가 오늘은 안오네요.. 하늘은 여전히 찌뿌등하고...
그래도 즐거운 하루되시구요, 수고하세요