마이크로프로세서
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

[10.1] USART0 송신 실험
<소스>
<소스 설명>

[10.2] USART0 송수신 실험
<소스>
<소스 설명>

[10.3] 인터럽트를 사용한 USART0 송수신 실험
<소스>
<소스 설명>

[10.4] 컴파일러에서 제공하는 라이브러리 함수를 이용한 USART 송신 실험
<소스>
<소스 설명>

본문내용

송된 문자열을 확인 할 수 있다. (DataBit = 8 bit, StopBit = 1, Parity = None)
<소스>
#include
#include
flash char fstr[10] = "Hello!! ";
void main(void)
{
char string1[] = "Atmel RISC Microprocessor ";
char string2[] = "AVR ATmega128";
char *pStr;
char flash *pFstr;
// USART 최기화
UCSR0A = 0x0;
UCSR0B = 0b00011000;// 송수신 인에이블 TXEN = 1, RXEN=1
UCSR0C = 0b10000110;// 비동기 데이터 8비트 모드
UBRR0H = 0; // X-TAL = 16MHz 일때, BAUD = 9600
UBRR0L = 103;
// putsf() 함수
pFstr = fstr;
putsf(pFstr);
// puts() 함수
puts(string1);
// putchar() 함수
pStr = string2;
while(*pStr) putchar(*pStr++);
// printf() 함수
printf("Evaluation Board Test");
// getchar() 함수
while(1) putchar(getchar());
}
<소스 설명>
먼저 USART통신을 하기 위한 레지스터 설정을 살펴보면 UCSR0A 레지스터를 0x00으로 설정함으로써, USART를 초기화 시켰습니다. 다음 UCSR0B 레지스터를 보시면 bit3,4가 1로 셋이 되어있는데, bit3은 TXENn(Transmitter Enable, 송신기 인에이블)로 비트가 1이면 송신기가 인에이블 되어 송신 가능 상태가 되며, TxDn핀이 범용 I/O포트가 아니라 송신 단자로 동작하게 됩니다. bit4는 RXENn(Receiver Enable, 수신기 인에이블)로 비트가 1이면 수신기가 인에이블 되어 수신 가능 상태가 되며, RxDn핀이 범용 I/O포트가 아니라 수신 단자로 동작하게 됩니다. UCSR0C레지스터를 보시면 bit1,2,7이 1로 셋이 되어 있는데, bit1,2는 UCSZn1, UCSZn0(Character Size, 전송 데이터 비트 수 설정)로 이 두 비트는 UCSRnB레지스터의 UCSZn2와 함께 전송 데이터의 비트 수(한 번에 보내고자 하는 비트 수)를 설정합니다.
UCSZn2
UCSZn1
UCSZn0
데이터 비트 수
0
1
1
8비트
putsf(char flash * str) 함수는 커서가 위치한 곳에서 FLASH의 문자열을 출력합니다. puts(char * str) 함수는 커서가 위치한 지점에 SRAM의 문자열을 출력합니다. 단, 문자열을 먼저 선언하여야 합니다. putchar(char c)는 커서가 위치한 지점에 문자를 출력합니다. printf()는 C언어에서 그렇듯이 문자열과 그 이외의 모든 것을 출력할 수 있는 함수입니다. getchar()는 입력받은 문자 값을 말합니다.
  • 가격1,500
  • 페이지수7페이지
  • 등록일2010.11.06
  • 저작시기2009.11
  • 파일형식한글(hwp)
  • 자료번호#637889
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니