답변 : 블루투스 연동 질문합니다 ㅠㅠ
페이지 정보
작성자 master 작성일18-06-15 22:53 조회8,383회 댓글3건본문
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-06-15 오후 10:56:00
// by Ok-Hyun Park
//
#include <mega128.h>
#include <delay.h>
#asm
.equ __lcd_port=0x18; //PORTB
#endasm
#include <lcd.h>
//
void U0_TX(char d){ while(!(UCSR0A&0x20)); UDR0=d; }
//
void main(void){
DDRC=0xff;
lcd_init(16);
UCSR0A=0x20; UCSR0B=0x18; UCSR0C=0x0E; UBRR0L=8; //115200
while(1){
lcd_gotoxy(4,0); lcd_putsf("DETECTING");
lcd_gotoxy(5,1); lcd_putsf("NOISE..");
//
if(PIND.5){
lcd_clear(); PORTC=0x01;
lcd_gotoxy(4,0); lcd_putsf("CRYING");
lcd_gotoxy(5,1); lcd_putsf("BABY!");
U0_TX('B');
delay_ms(5000);
}
if(PIND.6){
lcd_clear(); PORTC=0x01;
lcd_gotoxy(4,0); lcd_putsf("WARNING");
lcd_gotoxy(5,1); lcd_putsf("CAR!");
U0_TX('C'); delay_ms(5000);
}
if(PIND.7){
lcd_clear(); PORTC=0x01;
lcd_gotoxy(4,0); lcd_putsf("WARNING");
lcd_gotoxy(5,1); lcd_putsf("FIRE!");
U0_TX('F'); delay_ms(5000);
}
PORTC=0;
}
}
void U0_TX(char d){ while(!(UCSR0A&0x20)); UDR0=d; }
이 함수에 문제가 있었습니다.
UCSR0A=0x20; UCSR0B=0x18; UCSR0C=0x0E; UBRR0L=8; //115200
이 설정은 처음봅니다.
댓글 : 3
조회수 : 8,383
허니님의 댓글
허니 작성일감사합니다! 송신부코드 틀리면 뭘 고쳐야 하나 난감했는데 다행이네요 ㅠ
허니님의 댓글
허니 작성일
UCSR0A=0x20; UCSR0B=0x18; UCSR0C=0x0E; UBRR0L=8; //115200
이 설정은 처음봅니다.
<<말씀하신 이 부분은 ATMEGA128 USART레지스터로 생각하면서 적었습니다
학교에서 8535로 배우고 있는데 128에도 있지않을까하고 생각해서 넣었어요!
master님의 댓글
master
UCSR0A=0x20; UCSR0B=0x18; UCSR0C=0x0E; UBRR0L=8; //115200
이 설정에서
UCSR0A=0x20;
UCSR0C=0x0E;
두개의 레지스터 설정은 문제가 있고요
삭제해서 아래 두개의 레지스터 설정만 있으면 됩니다.
UCSR0B=0x18; UBRR0L=8; //115200