BASIC4MCU | 질문게시판 | 블루투스 연동 질문합니다 ㅠㅠ
페이지 정보
작성자 허니 작성일2018-06-15 21:47 조회4,608회 댓글0건본문
#include <mega128.h>
#include <delay.h>
#asm
.equ __lcd_port=0x18; //PORTB
#endasm
#include <lcd.h>
void UART_Transmit(unsigned char data)
{
while((UCSR0A&0x20)==0)
{
UDR0= data;
}
}
void main(void)
{
DDRD=0x00;
DDRC=0xff;
PIND=0x00;
PORTC=0x00;
UBRR0H=0x00;
UBRR0L=8; //115200
UCSR0A=0x20;
UCSR0B=0x18;
UCSR0C=0x0E;
lcd_init(16);
while(1)
{
lcd_gotoxy(4,0);
lcd_putsf("DETECTING");
lcd_gotoxy(5,1);
lcd_putsf("NOISE..");
if(PIND.5==1)
{
lcd_clear();
PORTC=0x01;
lcd_gotoxy(4,0);
lcd_putsf("CRYING");
lcd_gotoxy(5,1);
lcd_putsf("BABY!");
UART_Transmit('B');
delay_ms(5000);
}
else if(PIND.6==1)
{
lcd_clear();
PORTC=0x01;
lcd_gotoxy(4,0);
lcd_putsf("WARNING");
lcd_gotoxy(5,1);
lcd_putsf("CAR!");
UART_Transmit('C');
delay_ms(5000);
}
else if(PIND.7==1)
{
lcd_clear();
PORTC=0x01;
lcd_gotoxy(4,0);
lcd_putsf("WARNING");
lcd_gotoxy(5,1);
lcd_putsf("FIRE!");
UART_Transmit('F');
delay_ms(5000);
}
PORTC=0x00;
}
}
여기까지가 제가 만든 코드고 한번 동작시험해보니(PIND.6==1)해보니
lcd_clear();
PORTC=0x01;
lcd_gotoxy(4,0);
lcd_putsf("WARNING");
lcd_gotoxy(5,1);
lcd_putsf("CAR!"); 여기까지는 되는데
UART_Transmit('C'); 여기서 막히는지 while문의 초반으로 돌아가지 않고
warning car가 lcd에서 사라지지 않습니다.
혹시 송신코드를 잘못 작성했는지 궁금해 여쭙니다.
일단 블루투스모듈은 HC-06을 사용하고 있고 휴대폰 앱인벤터를 통해 연동을 시도하고있습니다.
댓글 0
조회수 4,608등록된 댓글이 없습니다.