2011-09-22 3 views
0

성명 : 저는 저의 필자가 작성한 폴링 모드에서 장치 드라이버를 사용하여 인텔 펜티엄 2 시스템에서 UART를 통해 데이터를 보내려고 거의 모든 옵션을 시도했습니다. 매우 간단한 코드는 8-N-1 ... U 직렬 UART 레지스터에 관한 세부 사항을 원하는 http://www.lammertbies.nl/comm/info/serial-uart.html#LSR 을 사용하면 양측 상에 설정 등의 데이터를 http://pastebin.com/YRszQqRv 전송 속도 및 특성을 송신하는도 http://pastebin.com/8snzeaXu 리눅스 코드에서 알 수있는 문제 : 전송에서 일부 데이터가 누락되었습니다.리눅스와 사용자가 작성한 운영체제에 uart 문제가 발생했습니다.

+0

도움을 받으실 수 있습니다 !! – bicepjai

답변

0

누락 된 데이터는 대개 전송할 때 데이터를 덮어 쓰는 것을 의미합니다. 바이트를 전송하는 사이에 몇 가지 usecs 자고 대신, THR 빈에 대한 LSR을 확인하는 것처럼 상태 레지스터를 쿼리 할 수 ​​있습니까? 어쩌면 xon/xoff와 같은 흐름 제어 기능을 추가 할 수도 있습니다.

+0

프로세스를 파견하고 시간을 정하기 위해 필자는 uart를 혼자 처리하기 위해 독립 실행 형 프로그램을 작성했지만 여전히 동일한 문제가 있습니다. 전송 (download_file_uart) 및 수신 (eksw094_s)을위한 학습을위한 운영 체제 (nanos_src) 에 대해 git 코드베이스를 사용합니다. 살펴보십시오. https://github.com/bicepjai/nanos – bicepjai

관련 문제