/*************************************************************************************************** void UART_Init(uint8_t var_uartChannel_u8, uint32_t var_baudRate_u32) **************************************************************************************************** * I/P Arguments: uint32_t : Baudrate to be configured. * Return value : none * description :This function is used to initialize the UART at specified baud rate. If the requested baud rate is not within the supported range then the default baud rate of 9600 is set. Refer uart.h file for Supported(range) baud rates. ***************************************************************************************************/ void UART_Init(uint8_t var_uartChannel_u8, uint32_t var_baudRate_u32) { switch(var_uartChannel_u8) { case 0: UCSR0B= (1<<RXEN) | (1<<TXEN); // Enable Receiver and Transmitter UCSR0C= (1<<UCSZ1) | (1<<UCSZ0); // Asynchronous mode 8-bit data and 1-stop bit UCSR0A= 0x00; // Clear the UASRT status register */ UART_SetBaudRate(var_uartChannel_u8,var_baudRate_u32); break; case 1: UCSR1B= (1<<RXEN) | (1<<TXEN); // Enable Receiver and Transmitter UCSR1C= (1<<UCSZ1) | (1<<UCSZ0); // Asynchronous mode 8-bit data and 1-stop bit UCSR1A= 0x00; // Clear the UASRT status register UART_SetBaudRate(var_uartChannel_u8,var_baudRate_u32); break; } }
/*************************************************************************************************** void UART_Init(uint32_t var_baudRate_u32) **************************************************************************************************** * I/P Arguments: uint32_t : Baudrate to be configured. * Return value : none * description :This function is used to initialize the UART at specified baud rate. If the requested baud rate is not within the supported range then the default baud rate of 9600 is set. Refer uart.h file for Supported(range) baud rates. ***************************************************************************************************/ void UART_Init(uint32_t var_baudRate_u32) { UCSRB= (1<<RXEN) | (1<<TXEN); // Enable Receiver and Transmitter UCSRC= (1<<URSEL) | (1<<UCSZ1) | (1<<UCSZ0); // Asynchronous mode 8-bit data and 1-stop bit UCSRA= 0x00; // Clear the UASRT status register UART_SetBaudRate(var_baudRate_u32); }
void UART_Init(uint32_t v_baudRate_u32) { UCSRB= (1<<RXEN) | (1<<TXEN); // Enable Receiver and Transmitter UCSRC= (1<<URSEL) | (1<<UCSZ1) | (1<<UCSZ0); // Async-mode UCSRA= 0x00; // Clear the UASRT status register UART_SetBaudRate(v_baudRate_u32); }
/*************************************************************************************************** void UART_Init(uint8_t var_uartChannel_u8, uint32_t var_baudRate_u32) **************************************************************************************************** * I/P Arguments: uint32_t : Baudrate to be configured. * Return value : none * description :This function is used to initialize the UART at specified baud rate. If the requested baud rate is not within the supported range then the default baud rate of 9600 is set. Refer uart.h file for Supported(range) baud rates. ***************************************************************************************************/ void UART_Init(uint8_t var_uartChannel_u8, uint32_t var_baudRate_u32) { if(var_uartChannel_u8< C_MaxUartChannels_U8) { GPIO_PinFunction(STR_UartConfig[var_uartChannel_u8].TxPin,STR_UartConfig[var_uartChannel_u8].PinFunSel); GPIO_PinFunction(STR_UartConfig[var_uartChannel_u8].RxPin,STR_UartConfig[var_uartChannel_u8].PinFunSel); util_BitSet(LPC_SC->PCONP,STR_UartConfig[var_uartChannel_u8].pconBit); /* Enable FIFO and reset Rx/Tx FIFO buffers */ STR_UartConfig[var_uartChannel_u8].UARTx->FCR = (1<<SBIT_FIFO) | (1<<SBIT_RxFIFO) | (1<<SBIT_TxFIFO); /* 8bit data, 1Stop bit, No parity */ STR_UartConfig[var_uartChannel_u8].UARTx->LCR = (0x03<<SBIT_WordLenght) | (1<<SBIT_DLAB); UART_SetBaudRate(var_uartChannel_u8,var_baudRate_u32); } }
void serial_baud(serial_t *obj, int baudrate) { UART_SetBaudRate(uart_addrs[obj->index], (uint32_t)baudrate, CLOCK_GetFreq(uart_clocks[obj->index])); }