극소수의 UART 89s52 문제

G

garg29

Guest
안녕 친구, 난 그냥
2 - 89S52 간의 커뮤니케이 션을 할 마이크로 노력 중이야.

하나는 "안녕하세요 전송됩니다"& 기타
동일한 받고있다 & 액정 (16x2)에 게재합니다.하이퍼 터미널에서 결과를 확인하신대로 전송 포인트 확인합니다.수신기야도 ""안녕하세요 작은 문제가 함께 표시되고 있지만, 첫 번째 인스턴스에있는 단어가 "안녕하세요"제대로 표시됩니다하지만 그
높이 '를 두 번 표시됩니다 HHELLO "즉, 캐릭터'"로 표시됩니다.함수에서 "무효 uart_gets (숯불 *들)"나는 선 "- 퍼팅 시도;"이 "여보세요"( '높이'사라졌습)이 처음이지만 "안녕하세요"(적절한) continoulsy
그 이후에 표시됩니다.아래의 코드입니다.
내 문제를 읽어주는 시간을 모두 가져 주셔서 감사합니다.안부.
garg29 의해 2009년 6월 4일 10:36에 편집한 마지막; 편집한 2 회 총

 
코드 :uart_getc () 무효 / 캐릭터의 UART에서! / 숯불

(

= 0 / / SBUF; / / 왜 ?????

(RI의 == 0); 동안 RI의 = 0;

반환 SBUF;

)
 
Kurenai_ryu 답장을 보내주셔서 감사합니다.난
= 0 SBUF 퍼팅 그냥 해봤지만 did'nt 어떠한 변경했다.그러나 나는 또한 str을 보여주고있다 [7] 노력도 도움이되지 않았다.

여기에 LCD는 내 코드의
코드 :무효

lcd_puts (const 숯불 *들)

(

LCD_RS = 1; / / 문자 쓰기

동안 (*)

lcd_write (* s );

)
 
문제는 ""추가하지
않습니다 '높이'당신,하지만보고 무엇을 볼 수 없어!
내가 "안녕하세요 보낼 \ 연구
\ n"(즉 일반적인 ""을 입력하거나, 당신의 송신기 측면 추측 컨대, CR = 0x0D (13)에 의해 따라 LF = 0x0A (10)).
때까지 그것은
CR (13)보고하십시오 'uart_gets ()'을 기다립니다, NULL을 반환과 함께,하지만 대체에의 UART의 거기 LF (10) 숯불 'uart_gets 전화는 다음 시간 동안 남아있을 것이다 수신 버퍼 ()' , 그리고 그 문자를 검색할 수로
헤 전에 문자열의 첫 번째 요소,
당신은 모든받은 문자로 거래를 해, 그리고 (그리고 그들을 플러시,
= 0 SBUF 할 것입니다, 당신은 바보야 대신 읽기)을해야 할 것이다.

제발 당신의 코딩 스타일을 돌려서 말하는 오류에 대한 마음을하지 않습니다.올바른 있지만, 당신의 선택 글로벌 것들과 같은 이름을 가진 매개 변수의 이름을 정식으로 매우, 코드의 나머지 부분의 난처 언급하지로 혼란 스럽다.
난 당신이 유일한 희망이 특정한 경우에 작동을 실현하기위한 목적으로 일반적인 템플릿이 코드를 사용해야하는 방법은 없다.

아서

 

Welcome to EDABoard.com

Sponsor

Back
Top