티스토리 뷰
getchar() , putchar() 함수 사용하기
표준(ANSI) C 언어에서 getchar() 함수는 키보드(표준입력장치)로부터 문자를 입력하는 함수입니다. 8051 C 컴파일러에서 getchar() 함수는 시리얼 통신으로부터 한 문자를 입력받는 함수로 만들어져 있습니다. 마찬가지로 putchar() 함수는 모니터(표준출력장치)로 문자를 출력하는 함수입니다. 8051 C 컴파일러에서 putchar() 함수는 시리얼 통신으로 한 문자를 출력하는 함수로 만들어져 있습니다. #include #include #include "lcd.h" void init_serial(void) { TMOD = 0x20; PCON = 0x80; SCON = 0x52; TH1 = 0xfd; TR1 = 1; SBUF = 0; } /* char RX_D(void) { while(!RI); RI=0; return(SBUF); } void TX_D(buffer) { while(!TI); TI=0; SBUF = buffer; } void put_str(char *buf) { while(*buf) TX_D(*buf++); } */ void main(void) { int rx,i=0,j=0,k; char *str = "Serial Test"; init_serial(); /* Xtal:22.1184MHz, 38400 Baud */ puts(str); delay(10000); lcd_init(); lcd_puts(str); for(k=0; k<5; k++) delay(30000); clear(); do { rx = getchar(); if(i++ == 16) { row2(); i = 1; j++; if(j == 2) { clear(); j = 0; } } lcd_putc(rx); putchar(rx); } while(1); } 위 프로그램에서 코멘트 처리된 RX_D() 함수와 TX_D() 함수는 시리얼 통신으로 한 문자를 입력하고, 출력하는 함수입니다. 이 함수 대신 내장 함수 getchar() 함수와 putchar() 함수를 사용하여 시리얼 통신으로 문자를 입력하고 시리얼 통신으로 문자를 출력하는 기능을 할 수 있습니다.
'C언어' 카테고리의 다른 글
시리얼 통신으로 받은 데이터를 LCD 에 표시하기 (0) | 2021.08.28 |
---|---|
시리얼 통신으로 데이터 주고 받기 (0) | 2021.08.26 |
타이머 1 을 이용하여 보레이트(Baud rate) 만들기 (0) | 2021.08.24 |
직렬 통신에 관계된 레지스터 (0) | 2021.08.22 |
타이머 모드(TMOD) 의 GATE 제어하기 (0) | 2021.08.20 |