Page 1066 - 3-3
P. 1066
}
void USART0_Tx(unsigned char send) //USART0 송신 함수
{
while (!(UCSR0A & 0x20)); // 송신대기
UDR0 = send; //UDR0 에 send 값 대입
}
void USART_init() //USART0, 1 초기화
{
//USART0 송수신 허용, USART1 수신만 허용
UCSR0A = 0x00;
UCSR0B = 0x98;
//2 번 비트 0: , 3,4 비트 (TXENn,RXENn) 셋 송 수신부 활성화: / , 7 번 비트
셋 수신 인터럽트 활성화:
UCSR0C = 0x06;
// 전송 데이터 길이 설정 (UCSR0B 2 번 비트, UCSR0C 1,2 번 비트): 8 비트
UBRR0H = 0x00;
UBRR0L = 103; //baudrate 설정: 9600bps (= 0x67 = 103)
UCSR1A = 0x00;
UCSR1B = 0x90; //4 번비트 셋 수신만 허용: , 7 번비트 셋 수신 인터럽트 활성화:
UCSR1C = 0x06;
// 전송 데이터 길이 설정 (UCSR1B 2 번 비트, UCSR1C 1,2 번 비트): 8 비트
UBRR1H = 0x00;
UBRR1L = 103; //baudrate 설정: 9600bps (= 0x67 = 103)
SREG |= 0x80; // 인터럽트 방식 사용을 위해 전체 인터럽트 허
}
void delete() //USART 로 받은 값들이 저장된 배열을 초기화
{
short k; // 반복문에 사용되는 값
i = 0;
c = 0;
for(k = 0; k < 8; k++)
data[i] = ' ';
for(k = 0; k < 1; k++)
vb[i] = 0;
}
int RFID_Read()
{
//RFID 수신 값과 VB 로 수신한 값 스위치 값에 따라 동작 위치를 결정하는 함수, .
unsigned char B1_tag[9] = "1ECA1941";
unsigned char B2_tag[9] = "9E0B1941";
unsigned char B3_tag[9] = "AEAE1941";
- 1066 -