회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 69
판매자 아크마 판매 납포인트 무료 평점 0점 / 총 0명 참여

#include <stdlib.h>
#include <string-avr.h>
#include <stdio.h>
#include <iom128.h>

#define   CR         0x0A
#define   LF         0x0D
#define   NOTHING    0x00

#define   Baud4800   207
#define   Baud9600   103
#define   Baud14400  68
#define   Baud19200  51
#define   Baud28800  34
#define   Baud38400  25
#define   Baud57600  16
#define   Baud115200 8
#define   PORT0      0
#define   PORT1      1

void USART0_Init(unsigned int baud);
void USART1_Init(unsigned int baud);
void put_chr(unsigned char data,int Port);
void delay_ms(unsigned int time_ms);
void put_str(char *str,int LineFeed,int Port);
unsigned char get_chr(int Port);

char temp;
char temp_str[]= {"You have just pressed :"};

int main(void)
{

   USART0_Init(Baud115200);
   USART1_Init(Baud9600);

   delay_ms(20);

   put_str("Serial Test program",LF,PORT0);
   put_str("English Test",LF, PORT0);
   put_str("한글 테스트",LF, PORT0);
   put_str("Init OK",LF,PORT0);
   put_str("Baudrate is 115200BPS",LF,PORT0);

   while(1)
     {
  
     }
}

void put_str(char *str,int LineFeed,int Port)
{
   unsigned int len;
   int i;
   len = strlen(str);
   for(i=0;i<len;i++)
     {
       put_chr(str[i],Port);
     }
   if(LineFeed == LF || LineFeed == CR)
     {
      put_chr(CR,Port);
      put_chr(LF,Port);
     }
}

void USART0_Init(unsigned int baud)
{
  // UBRR0H = (unsigned char)(baud>>8); // UBRR0L = (unsigned char)baud;
  UBRR0H = 0;
  UBRR0L = baud;
  UCSR0B = (1<<RXEN) | (1<<TXEN);
  UCSR0C = (USBS | (3<<UCSZ));
  // 8 data bit. 1 Stop bit, for 2 Stop bit : (1 << USBS) istead of USBS
}

void USART1_Init(unsigned int baud)
{
  //  UBRR1H = (unsigned char)(baud>>8);//  UBRR1L = (unsigned char)baud;
  UBRR1H = 0;
  UBRR1L = baud;
  UCSR1B = (1<<RXEN) | (1<<TXEN);
  UCSR1C = (USBS | (3<<UCSZ));
  // 8 data bit. 1 Stop bit, for 2 Stop bit : (1 << USBS) istead of USBS
}

unsigned char get_chr(int Port)
{
  if(Port == 0)
    {
      while (!(UCSR0A & (1<<RXC)));
      // Also u can use it :->  loop_until_bit_is_set(UCSR0A, RXC);
      return UDR0;
    }
  if(Port == 1)
    {
      while (!(UCSR1A & (1<<RXC)));
      // Also u can use it :->  loop_until_bit_is_set(UCSR1A, RXC);
      return UDR1;
    }
}

void put_chr(unsigned char data,int Port)
{
  if(Port == 0)
   {
     while(!(UCSR0A & (1<<UDRE)));
     UDR0 = data;
   }
  if(Port == 1)
  {
     while(!(UCSR1A & (1<<UDRE)));
     UDR1 = data;
  }
}

void delay_ms(unsigned int time_ms)
{
  int i,j;
  while (time_ms--)
   {
     for(i=0;i<230;i++)
       for(j=0;j<156;j++);
   }
}


IAR 컴파일러로 작성된 소스이며 OK-128회로에서 김대종씨가 작성하신 프로그램을 약간 수정하였습니다.

시리얼 통신 회로 RX, TX를 구성하시고 위 프로그램을 사용하시면 됩니다.

각자 필요에 맞게 고쳐서 쓰시면 되겠습니다.

모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.

첨부

profile
임재욱 2008.09.28 20:41
초보라 그런지 잘 모르겠네요.
profile
엄친아 2009.12.31 20:19
저두용..
profile
코딩작살 2010.03.01 15:49
저두
profile
코딩작살 2010.03.01 16:08
.....
profile
hkMarine 2010.03.19 02:09
감사합니다.
profile
원이아빠 2010.03.20 15:15

USART 초기설정하고 포트0에 뿌리고 ~~~

profile
손마담 2010.06.16 08:15
감사 합니다
profile
LED가뭐냐 2012.05.03 22:10
감사합니다
profile
올드뉴 2012.05.30 12:54
좋은 자료 감사합니다
profile
니르바나 2013.12.11 16:35
좋은 자료 감사합니다.
profile
자용무실 2014.09.13 08:34
감사합니다
profile
시나브로69 2017.06.24 13:25
좋은 자료 감사합니다.
search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
69 머신러닝, AI & 알고리즘 matlab 쉽게 배우는 방법없나요? [7] 무료 kayle 2013-09-26 0 441
68 머신러닝, AI & 알고리즘 Kalman 필터로 쉽게 센서통합하기 [8] 무료 아크마 2011-08-01 0 2995
67 머신러닝, AI & 알고리즘 매크로 이름에 괄호를 사용하기 [5] 무료 밝은전기구슬 2011-03-28 0 4925
66 머신러닝, AI & 알고리즘 Solving ODEs with MATLAB [3] 무료 HALU13 2010-11-29 0 2155
65 머신러닝, AI & 알고리즘 A Guide to MATLAB Object-Oriented Programming - Andy H. Register [5] 무료 HALU13 2010-11-29 0 2299
64 머신러닝, AI & 알고리즘 매트랩 한글 메뉴얼 입니다. [33] 무료 우당탕카 2010-06-01 0 5727
63 머신러닝, AI & 알고리즘 보간법 매틀랩 코드입니다. 무료 나얼제자 2010-05-25 0 4140
62 머신러닝, AI & 알고리즘 매틀랩 명령어 정리 입니다 [14] 무료 지노쟁이 2010-04-29 0 4648
61 머신러닝, AI & 알고리즘 matlab이 저에게 필요한가요 [5] 무료 딘재 2010-04-16 0 2250
60 머신러닝, AI & 알고리즘 공업수학요약정리4 [10] 무료 알라뷰 2010-03-07 0 2525
59 머신러닝, AI & 알고리즘 공업수학요약정리3 [8] 무료 알라뷰 2010-03-07 0 2483
58 머신러닝, AI & 알고리즘 공업수학요약정리2 [8] 무료 알라뷰 2010-03-07 0 2061
57 머신러닝, AI & 알고리즘 공업수학요약정리1 [12] 무료 알라뷰 2010-03-07 0 3187
56 머신러닝, AI & 알고리즘 proxmity sensing 알고리즘입니다. [2] 무료 퀴아쿠 2010-02-19 0 2047
55 머신러닝, AI & 알고리즘 알고리즘 설계 및 실습 - Huffman & Dijkstra [5] 무료 블루미르7 2010-01-05 0 3471
54 머신러닝, AI & 알고리즘 간단한 비례 공식입니다 ㅎㅎ [2] 무료 karismapong 2009-10-20 0 2648
53 머신러닝, AI & 알고리즘 Euler 미분법[MATLAB] [4] 무료 아크마 2009-10-01 0 4642
52 머신러닝, AI & 알고리즘 Matlab코드를 C코드로 변환할 수 있다는데.. 무료 kezman 2009-09-25 0 4195
51 머신러닝, AI & 알고리즘 MPLAB 컴파일을 했더니 에러가 떠요..ㅠㅠ [2] 무료 로이lee 2009-04-16 0 3969
50 머신러닝, AI & 알고리즘 (MATLAB) S-ALOHA의 Throughput 시뮬레이션 소스 [2] 무료 태상노군 2008-09-23 0 5172
  • 거짓말은 눈덩이와 같다 오래 굴릴수록 커진다.
    - 마르틴루터
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.