BASIC4MCU | 질문게시판 | 답변 : Atmega128, 조도센서 값에 따라 서보모터가 구동되게 하고싶어요
페이지 정보
작성자 master 작성일2018-12-04 10:07 조회8,477회 댓글3건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6242
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-04 오전 10:12:54// by Ok-Hyun Park//#define F_CPU 16000000L#include <avr/io.h>#include <util/delay.h>#include <stdio.h>//void TX1_char(char c){ while(!(UCSR1A&0x20)); UDR1=c; }void TX1_STR(char *s){ while(*s)TX1_char(*s++); }//int main(void){int cds; char str[20];DDRB=0x20;UCSR0B=0x18; UBRR0L=103; // 9600TCCR1A=0x82; TCCR1B=0x1A; ICR1=39999; // fastPWM 20ms주기ADMUX=0x45; ADCSRA=0xE7;while(1){_delay_ms(1000);cds=ADC;sprintf(str,"%d\r\n",cds); TX1_STR(str);//if(cds<100)OCR1A=1200; // 0도else OCR1A=3000; // 90도}}
댓글 3
조회수 8,477코딩초보자님의 댓글
코딩초보자 작성일
답변 감사합니다 혹시 void TX1_char(char c){ while(!(UCSR1A&0x20)); UDR1=c; }
void TX1_STR(char *s){ while(*s)TX1_char(*s++); }
위 코드 부분의 설명만 부가적으로 알려주실 수 있으실까요??
master님의 댓글
master 작성일
void TX1_char(char c){
while(!(UCSR1A&0x20)); // 송신 버퍼가 빌 때까지 대기
UDR1=c; // 송신버퍼에 새로운 데이터를 입력
}
master님의 댓글
master 작성일
void TX1_STR(char *s){ // 문자열의 포인터를 인수로 넘겨 받아서
while(*s){ // 널문자를 만날 때까지 반복
TX1_char(*s++); // 한문자씩 전송하고, 포인터 증가
}
}