BASIC4MCU | 질문게시판 | 답변 : avr간의 블루투스 송수신 연결 질문
페이지 정보
작성자 master 작성일2020-06-10 14:20 조회9,218회 댓글4건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=12717
작성일
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2020-06-10 오후 2:25:27// by Ok-Hyun Park////-------블루투스 master코드#include <avr/io.h>#include <stdio.h>#define F_CPU 8000000UL#include <util/delay.h>//#define Trigger_ON PORTC|=1 //초음파 트리거 PC0#define Trigger_OFF PORTC&=~1#define Echo (PINC&0x04)//unsigned int getEcho(){Trigger_ON; _delay_us(10); Trigger_OFF;while(Echo==0x00); TCCR1B=2; TCNT1=0;while(Echo!=0x00); TCCR1B=0;return(TCNT1/116); //cm}//int main(){unsigned int range;DDRC=1;UCSR1B=8; UBRR1L=103; //9600bpswhile(1){_delay_ms(100);range=getEcho();if(range<=50)UDR1='1'; else UDR1='0';}}//-------블루투스 Slave 코드#include <avr/io.h>#include <avr/interrupt.h>#define F_CPU 8000000UL#include <util/delay.h>//ISR(USART1_RX_vect){char r;r=UDR1;if(r=='1')PORTA=1; else PORTA=0;}//int main(){DDRA=1;UCSR1B=0x90; UBRR1L=103; //9600bpsSREG=0x80;while(1){}}
댓글 4
조회수 9,218전과자14학번님의 댓글
전과자14학번 작성일왜 SREG에 빨간밑줄이 뜨는거죠? 인터럽헤더파일을 적었는데..
master님의 댓글
master
SREG=0x80; 오류가 발생하면 sei(); 함수를 사용하세요
전과자14학번님의 댓글
전과자14학번 작성일그리고 인터럽트쓰는거면 master, slave 포트를 PD쪽 RX,TX를 써야하나요??
master님의 댓글
master
UART0를 사용해도 됩니다.
일대일 UART 통신은 마스터/슬레이브가 없습니다.