PC-AVR UART 통신 코드 관련 질문입니다

PC-AVR UART 통신 코드 관련 질문입니다

작성일 2014.05.03댓글 1건
    게시물 수정 , 삭제는 로그인 필요

AVR Atmega128을 이용하여 PC에서 보낸 숫자를 AVR이 받고,
AVR이 받은 숫자를 다시 PC로 보내어 출력하는 프로그램을 만드려고 합니다.
헤더파일과 cpp파일은 아래와 같으며, baudrate는 9600으로 설정하였습니다.

1을 입력하면 1이나 49가 반환될 것이라고(ASCII code) 생각했는데, 
아래 사진과 같이 의미를 알 수 없는 숫자들만 반환되고 있습니다.


 
여기저기 찾아보면서 많은 고민을 해 보았는데, 초심자인지라
어느 부분에서 실수를 한 것인지 스스로 찾을 수가 없었습니다
(PC-AVR 통신은 되는데, Main function이 주 문제일 것으로 생각합니다)

어느 부분이 잘못되었고, 어떻게 하면 이 문제를 해결할 수 있을지 고수분들의 도움이 필요합니다.

<Header file>

<CPP file>



profile_image 익명 작성일 -

 

 
105, 110, 112, 117, 116, 32, 103, 101, 116, 33, 105 등을 수신했군요
 
asc 테이블에서 찾아보면
105,
i
105 
110, 
n
110 
112,
p
112
117,
u
117
116,
t
116
32,
SP
32
103,
g
103
101,
e
101
116,
t
116
33,
!
33 
105
i
105
 
 
  • ISR(USART0_RX_vect)
  • {
  •    char c  =  UDR0;
  •    serial.storeChar(c);
  •    serial.writeStr("input get!");
  • }
적색 문자열에 모두 있는 내용들입니다.
//serial.writeStr("input get!"); 
막고서 동작시켜보세요
 
파일이 어떻게 구성 되어 있는지 한눈에 들어오지 않지만
수신인터럽트와 함수 두군데서 수신을 처리하면 제대로 동작하지 않을 수 있습니다.
메인에서는 UART 수신 처리하지말고 수신 인터럽트에서만 처리하세요
 
추가문의는 카페 전자공작 http://cafe.naver.com/circuitsmanual
 
 

AVR UART통신 질문 드려요 (초보)

... UART통신할때 전송은 아스키 코드로 되는건가요? 질문의 소스는 필요없는 코드가 많이... 대문자를 PC에서 AVR로 전송하면 AVR에서...

AVR ATMEGA128 UART 사용 질문

... 근데 책보고는 도저히 이해가 가질않아서 질문드립니... UART 통신은 표준 규격에 의해서 동작하므로 AVR,8051,PIC, ARM,PC, 라즈베리파이 등 기종에 상관없이 데이터를 주고...