mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-04 13:55:40 +08:00
[uart] enum UartBaud, remove unused uart_periph_set_baudrate
This commit is contained in:
@@ -44,11 +44,15 @@ static inline void uart_enable_interrupts(struct uart_periph* p) {
|
||||
((uartRegs_t *)(p->reg_addr))->ier = UIER_ERBFI;
|
||||
}
|
||||
|
||||
static inline void uart_set_baudrate(struct uart_periph* p, uint32_t baud) {
|
||||
// set the baudrate
|
||||
((uartRegs_t *)(p->reg_addr))->lcr = ULCR_DLAB_ENABLE; // select divisor latches
|
||||
((uartRegs_t *)(p->reg_addr))->dll = (uint8_t)baud; // set for baud low byte
|
||||
((uartRegs_t *)(p->reg_addr))->dlm = (uint8_t)(baud >> 8); // set for baud high byte
|
||||
static inline void uart_set_baudrate(struct uart_periph* p, enum UartBaud baud) {
|
||||
/* calculate the baudrate */
|
||||
uint32_t _baud_reg_val = (uint16_t)((PCLK / (((float)baud) * 16.0)) + 0.5);
|
||||
/* select divisor latches */
|
||||
((uartRegs_t *)(p->reg_addr))->lcr = ULCR_DLAB_ENABLE;
|
||||
/* set for baud low byte */
|
||||
((uartRegs_t *)(p->reg_addr))->dll = (uint8_t)_baud_reg_val;
|
||||
/* set for baud high byte */
|
||||
((uartRegs_t *)(p->reg_addr))->dlm = (uint8_t)(_baud_reg_val >> 8);
|
||||
|
||||
// set the number of characters and other
|
||||
// user specified operating parameters
|
||||
@@ -58,7 +62,7 @@ static inline void uart_set_baudrate(struct uart_periph* p, uint32_t baud) {
|
||||
((uartRegs_t *)(p->reg_addr))->fcr = UART_FIFO_8;
|
||||
}
|
||||
|
||||
void uart_periph_set_baudrate(struct uart_periph* p, uint32_t baud, bool_t hw_flow_control __attribute__ ((unused))) {
|
||||
void uart_periph_set_baudrate(struct uart_periph* p, enum UartBaud baud, bool_t hw_flow_control __attribute__ ((unused))) {
|
||||
uart_disable_interrupts(p);
|
||||
uart_set_baudrate(p, baud);
|
||||
uart_enable_interrupts(p);
|
||||
|
||||
@@ -34,18 +34,6 @@
|
||||
#include "LPC21xx.h"
|
||||
#include BOARD_CONFIG
|
||||
|
||||
#define UART_BAUD(baud) (uint16_t)((PCLK / ((baud) * 16.0)) + 0.5)
|
||||
|
||||
#define B1200 UART_BAUD(1200)
|
||||
#define B2400 UART_BAUD(2400)
|
||||
#define B4800 UART_BAUD(4800)
|
||||
#define B9600 UART_BAUD(9600)
|
||||
#define B19200 UART_BAUD(19200)
|
||||
#define B38400 UART_BAUD(38400)
|
||||
#define B57600 UART_BAUD(57600)
|
||||
#define B115200 UART_BAUD(115200)
|
||||
#define B230400 UART_BAUD(230400)
|
||||
|
||||
#define UART_8N1 (uint8_t)(ULCR_CHAR_8 + ULCR_PAR_NO + ULCR_STOP_1)
|
||||
#define UART_7N1 (uint8_t)(ULCR_CHAR_7 + ULCR_PAR_NO + ULCR_STOP_1)
|
||||
#define UART_8N2 (uint8_t)(ULCR_CHAR_8 + ULCR_PAR_NO + ULCR_STOP_2)
|
||||
|
||||
@@ -102,7 +102,7 @@ static inline void uart_handler(struct uart_periph* p) {
|
||||
void uart0_init( void ) {
|
||||
uart_periph_init(&uart0);
|
||||
uart.dev = UART0_DEV;
|
||||
uart_periph_set_baudrate(&uart0,UART0_BAUD);
|
||||
uart_periph_set_baudrate(&uart0,UART0_BAUD,FALSE);
|
||||
}
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ void uart0_handler(void) {
|
||||
void uart1_init( void ) {
|
||||
uart_periph_init(&uart1);
|
||||
uart.dev = UART1_DEV;
|
||||
uart_periph_init_param(&uart1,UART1_BAUD);
|
||||
uart_periph_set_baudrate(&uart1,UART1_BAUD,FALSE);
|
||||
}
|
||||
|
||||
void uart1_handler(void) {
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <libopencm3/stm32/f1/gpio.h>
|
||||
#include "std.h"
|
||||
|
||||
void uart_periph_set_baudrate(struct uart_periph* p, uint32_t baud, bool_t hw_flow_control) {
|
||||
void uart_periph_set_baudrate(struct uart_periph* p, enum UartBaud baud, bool_t hw_flow_control) {
|
||||
|
||||
/* Configure USART */
|
||||
usart_set_baudrate((u32)p->reg_addr, baud);
|
||||
|
||||
@@ -31,10 +31,4 @@
|
||||
|
||||
#include "std.h"
|
||||
|
||||
#define B4800 4800
|
||||
#define B9600 9600
|
||||
#define B38400 38400
|
||||
#define B57600 57600
|
||||
#define B115200 115200
|
||||
|
||||
#endif /* STM32_UART_ARCH_H */
|
||||
|
||||
@@ -35,6 +35,21 @@
|
||||
#define UART_TX_BUFFER_SIZE 128
|
||||
#define UART_DEV_NAME_SIZE 16
|
||||
|
||||
/**
|
||||
* UART Baud rates
|
||||
*/
|
||||
enum UartBaud {
|
||||
B1200 = 1200,
|
||||
B2400 = 2400,
|
||||
B4800 = 4800,
|
||||
B9600 = 9600,
|
||||
B19200 = 19200,
|
||||
B38400 = 38400,
|
||||
B57600 = 57600,
|
||||
B115200 = 115200,
|
||||
B230400 = 230400
|
||||
};
|
||||
|
||||
/**
|
||||
* UART peripheral
|
||||
*/
|
||||
@@ -55,8 +70,7 @@ struct uart_periph {
|
||||
};
|
||||
|
||||
extern void uart_periph_init(struct uart_periph* p);
|
||||
extern void uart_periph_set_baudrate(struct uart_periph* p, uint32_t baud, bool_t hw_flow_control);
|
||||
//extern void uart_periph_init_param(struct uart_periph* p, uint32_t baud, uint8_t mode, uint8_t fmode, char * dev);
|
||||
extern void uart_periph_set_baudrate(struct uart_periph* p, enum UartBaud, bool_t hw_flow_control);
|
||||
extern void uart_transmit(struct uart_periph* p, uint8_t data);
|
||||
extern bool_t uart_check_free_space(struct uart_periph* p, uint8_t len);
|
||||
|
||||
@@ -81,7 +95,6 @@ extern void uart0_init(void);
|
||||
#define Uart0Getch() UartGetch(uart0)
|
||||
#define Uart0TxRunning uart0.tx_running
|
||||
#define Uart0SetBaudrate(_b) uart_periph_set_baudrate(&uart0, _b, FALSE)
|
||||
//#define Uart0InitParam(_b, _m, _fm) uart_periph_init_param(&uart0, _b, _m, _fm, "")
|
||||
|
||||
#define UART0Init Uart0Init
|
||||
#define UART0CheckFreeSpace Uart0CheckFreeSpace
|
||||
@@ -110,7 +123,6 @@ extern void uart1_init(void);
|
||||
#else
|
||||
#define Uart1SetBaudrate(_b) uart_periph_set_baudrate(&uart1, _b, FALSE)
|
||||
#endif
|
||||
//#define Uart1InitParam(_b, _m, _fm) uart_periph_init_param(&uart1, _b, _m, _fm, "")
|
||||
|
||||
#define UART1Init Uart1Init
|
||||
#define UART1CheckFreeSpace Uart1CheckFreeSpace
|
||||
@@ -135,7 +147,6 @@ extern void uart2_init(void);
|
||||
#define Uart2Getch() UartGetch(uart2)
|
||||
#define Uart2TxRunning uart2.tx_running
|
||||
#define Uart2SetBaudrate(_b) uart_periph_set_baudrate(&uart2, _b, FALSE)
|
||||
//#define Uart2InitParam(_b, _m, _fm) uart_periph_init_param(&uart2, _b, _m, _fm, "")
|
||||
|
||||
#define UART2Init Uart2Init
|
||||
#define UART2CheckFreeSpace Uart2CheckFreeSpace
|
||||
@@ -160,7 +171,6 @@ extern void uart3_init(void);
|
||||
#define Uart3Getch() UartGetch(uart3)
|
||||
#define Uart3TxRunning uart3.tx_running
|
||||
#define Uart3SetBaudrate(_b) uart_periph_set_baudrate(&uart3, _b, FALSE)
|
||||
//#define Uart3InitParam(_b, _m, _fm) uart_periph_init_param(&uart3, _b, _m, _fm, "")
|
||||
|
||||
#define UART3Init Uart3Init
|
||||
#define UART3CheckFreeSpace Uart3CheckFreeSpace
|
||||
@@ -185,7 +195,6 @@ extern void uart5_init(void);
|
||||
#define Uart5Getch() UartGetch(uart5)
|
||||
#define Uart5TxRunning uart5.tx_running
|
||||
#define Uart5SetBaudrate(_b) uart_periph_set_baudrate(&uart5, _b, FALSE)
|
||||
//#define Uart5InitParam(_b, _m, _fm) uart_periph_init_param(&uart5, _b, _m, _fm, "")
|
||||
|
||||
#define UART5Init Uart5Init
|
||||
#define UART5CheckFreeSpace Uart5CheckFreeSpace
|
||||
|
||||
Reference in New Issue
Block a user