Page 608 - 2
P. 608
lcd_out();
}
}
interrupt [USART1_RXC] void RX_interrupt(void)
{
rx = UDR1; // 수신된 데이터가 저장된 UDR0 송수신 버퍼 레지스터를 rx 대입
if(rx=='J') {PORTA = 0x0A;} // DC 모터 정방향
else if(rx=='R') {PORTA = 0x02;} // DC 모터 오른쪽
else if(rx=='L') {PORTA = 0x08;} // DC 모터 왼쪽
else if(rx=='B') {PORTA = 0x05;} // DC 모터 역방향
else if(rx=='X') {PORTA = 0x00;} // X
// else if(rx=='O') {mot=1;MOT=mot;lcd_out(); }// 청소기 ON
//else if(rx=='P') {mot=0;MOT=mot;lcd_out();}// 청소기OFF9*-+
}
다 블루투스 통신을 위한 프로그램 소스.
#include <mega128.h>
#include <delay.h>
unsigned char rx;
void main()
{
DDRA = 0xff;
DDRB = 0xff;
EIMSK=0x01;
EICRA=0x03;
UCSR1A = 0x00;
UCSR1B = 0b11011000;
UCSR1C = 0b00000110;
UBRR1H = 0;
UBRR1L = 103;
SREG = 0x80; // 설정 인터럽트 허용. ( 송수신 인터럽트)
while(1)
{
if(rx=='N') {DDRF=0x00;} // CDS 센서 ON
if(rx=='F') {;} // CDS 센서 OFF
}
- 608 -