뉴티씨



  • HOME
  • 고객지원
  • 질문답변

 

 
Atmega128을 이용해서 uart 통신 질문이 있습니다.
 글쓴이 : 반정현
작성일 : 18-06-27 17:19
조회 : 3,350  
#include<avr/io.h>
void putch(unsigned char data)
{
while((UCSR0A & 0x20) == 0); //전송준비가 될 때까지 대기
UDR0 = data;
UCSR0A |= 0x20; /* UCSR0A 레지스터 중에서 5번째 비트(UDREn) 를 세트하여 UDRE0를 클리어 함. */
}

int main()
{
nsigned char text[]

DDRE = 0xfe; // Rx(입력 0), Tx(출력, 1)
UCSR0A = 0x00; /* 0번째 비트, 즉 MPCMn 를 0으로 세트 (USARTn을

UCSR0B = 0x18; // Rx, Tx enable

UCSR0C = 0x06; // 비동기 방식, No Parity bit, 1 Stop bit

UBRR0H = 0x00;
UBRR0L = 0x03; // 7.3728 MHz -> 115200 bps

while(text[i] != '\0')
putch(text[i++]);
return 0;
}


통신 모듈로는 Zigbee를, 기본 예제의 소스를 사용했습니다.

이 때 아트메가에서 PC로 Hello world가 전송이 되어야 하는데 전송되지 않습니다. 두 개의 PC에 Zigbee를 연결해서 하이퍼터미널로 송수신이 되는것은 확인했습니다.

보레이트도 전부 맞춰져 있습니다.

아트메가에서 왜 송신이 안되는지 잘 모르겠습니다.

 
   
 

 


1