
//ȴݷͳɹ
#define WAIT_SEND_OK(); while( #.MEGA644.UCSR0A.5(bit) == 0 ) {} #.MEGA644.UCSR0A.5(bit) = 1;

//ȴյ
#define RECEIVE() #.MEGA644.UCSR0A.7(bit) == 1

// WATCHDOG
#define OPEN_WATCHDOG() #.MEGA644.WDTCSR = 0b1000_1000

//崮ݼĴ
#define UDR #.MEGA644.UDR0

//崮жԴ
#define INTERRUPT_UART interrupt [#.MEGA644.WATCH.USART0_RX]

//ò
void SetBaud( int32 t_baud )
{
	//7 = 1: շͱ־
	//5 = 1: ;
	#.MEGA644.UCSR0A = 0b0110_0000;
	//7 = 1: ʹܷж
	//4 = 1: 
	//3 = 1: 
	#.MEGA644.UCSR0B = 0b1001_1000;
	#.MEGA644.UCSR0C = 0b0000_0110;
	
	//Baud = (Fosc/16) / (UBRR + 1)
	//UBRR = (Fosc/16) / Boud - 1
	//Fosc = 11.0592MHz
	//Baud = 9600
	//CHIP.UBRR0H = 0;
	//CHIP.UBRR0L = 71;
	uint16 UBRR = 6912 / (uint16)((uint)t_baud / 100) - 1;
	#.MEGA644.UBRR0H = UBRR.8(uint8);
	#.MEGA644.UBRR0L = UBRR.0(uint8);
}




