mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #379 from bcostm/dev_nucleos_serial
[NUCLEOs] Add Serial Rx only and TX only modes + 8-bit data as defaultpull/381/head
commit
176e0fa9d8
|
@ -71,7 +71,15 @@ static void init_usart(serial_t *obj) {
|
|||
USART_InitStructure.USART_StopBits = obj->stopbits;
|
||||
USART_InitStructure.USART_Parity = obj->parity;
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
|
||||
|
||||
if (obj->pin_rx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx;
|
||||
} else if (obj->pin_tx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx;
|
||||
} else {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
|
||||
}
|
||||
|
||||
USART_Init(usart, &USART_InitStructure);
|
||||
|
||||
USART_Cmd(usart, ENABLE);
|
||||
|
@ -147,10 +155,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = USART_WordLength_9b;
|
||||
} else {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
|
|
@ -181,10 +181,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = UART_WORDLENGTH_8B;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = UART_WORDLENGTH_9B;
|
||||
} else {
|
||||
obj->databits = UART_WORDLENGTH_8B;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
|
|
@ -74,7 +74,15 @@ static void init_usart(serial_t *obj) {
|
|||
USART_InitStructure.USART_StopBits = obj->stopbits;
|
||||
USART_InitStructure.USART_Parity = obj->parity;
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
|
||||
|
||||
if (obj->pin_rx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx;
|
||||
} else if (obj->pin_tx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx;
|
||||
} else {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
|
||||
}
|
||||
|
||||
USART_Init(usart, &USART_InitStructure);
|
||||
|
||||
USART_Cmd(usart, ENABLE);
|
||||
|
@ -156,10 +164,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = USART_WordLength_9b;
|
||||
} else {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
|
|
@ -82,7 +82,15 @@ static void init_usart(serial_t *obj) {
|
|||
USART_InitStructure.USART_StopBits = obj->stopbits;
|
||||
USART_InitStructure.USART_Parity = obj->parity;
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
|
||||
|
||||
if (obj->pin_rx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx;
|
||||
} else if (obj->pin_tx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx;
|
||||
} else {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
|
||||
}
|
||||
|
||||
USART_Init(usart, &USART_InitStructure);
|
||||
|
||||
USART_Cmd(usart, ENABLE);
|
||||
|
@ -167,10 +175,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = USART_WordLength_9b;
|
||||
} else {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
|
|
@ -73,7 +73,14 @@ static void init_uart(serial_t *obj) {
|
|||
UartHandle.Init.StopBits = obj->stopbits;
|
||||
UartHandle.Init.Parity = obj->parity;
|
||||
UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
UartHandle.Init.Mode = UART_MODE_TX_RX;
|
||||
|
||||
if (obj->pin_rx == NC) {
|
||||
UartHandle.Init.Mode = UART_MODE_TX;
|
||||
} else if (obj->pin_tx == NC) {
|
||||
UartHandle.Init.Mode = UART_MODE_RX;
|
||||
} else {
|
||||
UartHandle.Init.Mode = UART_MODE_TX_RX;
|
||||
}
|
||||
|
||||
HAL_UART_Init(&UartHandle);
|
||||
}
|
||||
|
@ -157,10 +164,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = UART_WORDLENGTH_8B;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = UART_WORDLENGTH_9B;
|
||||
} else {
|
||||
obj->databits = UART_WORDLENGTH_8B;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
|
|
@ -175,10 +175,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = UART_WORDLENGTH_8B;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = UART_WORDLENGTH_9B;
|
||||
} else {
|
||||
obj->databits = UART_WORDLENGTH_8B;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
@ -303,7 +303,7 @@ int serial_getc(serial_t *obj) {
|
|||
void serial_putc(serial_t *obj, int c) {
|
||||
USART_TypeDef *uart = (USART_TypeDef *)(obj->uart);
|
||||
while (!serial_writable(obj));
|
||||
uart->TDR = (uint32_t)(c & 0xFF);
|
||||
uart->TDR = (uint16_t)(c & 0xFF);
|
||||
}
|
||||
|
||||
int serial_readable(serial_t *obj) {
|
||||
|
|
|
@ -78,7 +78,15 @@ static void init_usart(serial_t *obj) {
|
|||
USART_InitStructure.USART_StopBits = obj->stopbits;
|
||||
USART_InitStructure.USART_Parity = obj->parity;
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
|
||||
|
||||
if (obj->pin_rx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx;
|
||||
} else if (obj->pin_tx == NC) {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx;
|
||||
} else {
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
|
||||
}
|
||||
|
||||
USART_Init(usart, &USART_InitStructure);
|
||||
|
||||
USART_Cmd(usart, ENABLE);
|
||||
|
@ -180,10 +188,10 @@ void serial_baud(serial_t *obj, int baudrate) {
|
|||
}
|
||||
|
||||
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
|
||||
if (data_bits == 8) {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
} else {
|
||||
if (data_bits == 9) {
|
||||
obj->databits = USART_WordLength_9b;
|
||||
} else {
|
||||
obj->databits = USART_WordLength_8b;
|
||||
}
|
||||
|
||||
switch (parity) {
|
||||
|
|
Loading…
Reference in New Issue