... #define BR0 38400 /* Baud Rate */ #define BR1 9600 ... // ++++++++++++++++++ Function: Usart_Init( void ) ++++++++++++++++ void Usart_Init( void ) { /* Initialize Serial Interface */ *AT91C_PIOA_PDR = AT91C_PA5_RXD0 | /* Enable RxD0 Pin */ AT91C_PA6_TXD0 | /* Enalbe TxD0 Pin */ AT91C_PA21_RXD1| /* Enable RxD1 Pin */ AT91C_PA22_TXD1; /* Enalbe TxD1 Pin */ pUSART->US_CR = AT91C_US_RSTRX | /* Reset Receiver */ AT91C_US_RSTTX | /* Reset Transmitter */ AT91C_US_RXDIS | /* Receiver Disable */ AT91C_US_TXDIS; /* Transmitter Disable */ pUSART1->US_CR = AT91C_US_RSTRX | /* Reset Receiver */ AT91C_US_RSTTX | /* Reset Transmitter */ AT91C_US_RXDIS | /* Receiver Disable */ AT91C_US_TXDIS; /* Transmitter Disable */ pUSART->US_MR = AT91C_US_USMODE_NORMAL | /* Normal Mode */ AT91C_US_CLKS_CLOCK | /* Clock = MCK */ AT91C_US_CHRL_8_BITS | /* 8-bit Data */ AT91C_US_PAR_NONE | /* No Parity */ AT91C_US_NBSTOP_1_BIT; /* 1 Stop Bit */ pUSART1->US_MR = AT91C_US_USMODE_NORMAL | /* Normal Mode */ AT91C_US_CLKS_CLOCK | /* Clock = MCK */ AT91C_US_CHRL_8_BITS | /* 8-bit Data */ AT91C_US_PAR_NONE | /* No Parity */ AT91C_US_NBSTOP_2_BIT; /* 2 Stop Bits */ pUSART->US_BRGR = BRD0; /* Baud Rate Divisor */ pUSART1->US_BRGR = BRD1; pUSART->US_CR = AT91C_US_RXEN | /* Receiver Enable */ AT91C_US_TXEN; /* Transmitter Enable */ pUSART1->US_CR = AT91C_US_RXEN | /* Receiver Enable */ AT91C_US_TXEN; /* Transmitter Enable */ } // ++++++++ Function: Receive_LowByte ( void ) +++++++++ void Receive_LowByte ( void ) { Digital_T_Value_New_flag = 0; Digital_E_Value_New_flag = 0; LowByte = pUSART1->US_RHR ; } // ++++++++ Function: Receive_HighByte ( void ) +++++++++ void Receive_HighByte ( void ) { HighByte = pUSART1->US_RHR ; Digital_E_Buffer = HighByte ; Digital_T_Buffer = LowByte ; Digital_E_Value_New_flag = 1; Digital_T_Value_New_flag = 1; }