Skip to content

Commit 9413ed9

Browse files
author
Rohit Grover
committed
provide default initialization of some local variables in serial_api.c:serial_format()
1 parent aae8513 commit 9413ed9

File tree

1 file changed

+16
-15
lines changed
  • libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X

1 file changed

+16
-15
lines changed

libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X/serial_api.c

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,13 @@ static struct serial_global_data_s uart_data[UART_NUM];
8484

8585
void serial_init(serial_t *obj, PinName tx, PinName rx) {
8686
int is_stdio_uart = 0;
87-
87+
8888
// determine the UART to use
8989
UARTName uart_tx = (UARTName)pinmap_peripheral(tx, PinMap_UART_TX);
9090
UARTName uart_rx = (UARTName)pinmap_peripheral(rx, PinMap_UART_RX);
9191
UARTName uart = (UARTName)pinmap_merge(uart_tx, uart_rx);
9292
MBED_ASSERT((int)uart != NC);
93-
93+
9494
obj->uart = (LPC_UART_TypeDef *)uart;
9595
// enable power
9696
switch (uart) {
@@ -110,19 +110,19 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) {
110110
obj->uart->IER = 0 << 0 // Rx Data available irq enable
111111
| 0 << 1 // Tx Fifo empty irq enable
112112
| 0 << 2; // Rx Line Status irq enable
113-
113+
114114
// set default baud rate and format
115115
serial_baud (obj, 9600);
116116
serial_format(obj, 8, ParityNone, 1);
117-
117+
118118
// pinout the chosen uart
119119
pinmap_pinout(tx, PinMap_UART_TX);
120120
pinmap_pinout(rx, PinMap_UART_RX);
121-
121+
122122
// set rx/tx pins in PullUp mode
123123
pin_mode(tx, PullUp);
124124
pin_mode(rx, PullUp);
125-
125+
126126
switch (uart) {
127127
case UART_0: obj->index = 0; break;
128128
case UART_1: obj->index = 1; break;
@@ -132,9 +132,9 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) {
132132
uart_data[obj->index].sw_rts.pin = NC;
133133
uart_data[obj->index].sw_cts.pin = NC;
134134
serial_set_flow_control(obj, FlowControlNone, NC, NC);
135-
135+
136136
is_stdio_uart = (uart == STDIO_UART) ? (1) : (0);
137-
137+
138138
if (is_stdio_uart) {
139139
stdio_uart_inited = 1;
140140
memcpy(&stdio_uart, obj, sizeof(serial_t));
@@ -166,9 +166,9 @@ void serial_baud(serial_t *obj, int baudrate) {
166166
case UART_3: LPC_SC->PCLKSEL1 &= ~(0x3 << 18); LPC_SC->PCLKSEL1 |= (0x1 << 18); break;
167167
default: break;
168168
}
169-
169+
170170
uint32_t PCLK = SystemCoreClock;
171-
171+
172172
// First we check to see if the basic divide with no DivAddVal/MulVal
173173
// ratio gives us an integer result. If it does, we set DivAddVal = 0,
174174
// MulVal = 1. Otherwise, we search the valid ratio value range to find
@@ -229,16 +229,16 @@ void serial_baud(serial_t *obj, int baudrate) {
229229
}
230230
}
231231
}
232-
232+
233233
// set LCR[DLAB] to enable writing to divider registers
234234
obj->uart->LCR |= (1 << 7);
235-
235+
236236
// set divider values
237237
obj->uart->DLM = (DL >> 8) & 0xFF;
238238
obj->uart->DLL = (DL >> 0) & 0xFF;
239239
obj->uart->FDR = (uint32_t) DivAddVal << 0
240240
| (uint32_t) MulVal << 4;
241-
241+
242242
// clear LCR[DLAB]
243243
obj->uart->LCR &= ~(1 << 7);
244244
}
@@ -260,9 +260,10 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b
260260
case ParityForced1: parity_enable = 1; parity_select = 2; break;
261261
case ParityForced0: parity_enable = 1; parity_select = 3; break;
262262
default:
263+
parity_enable = 0, parity_select = 0;
263264
break;
264265
}
265-
266+
266267
obj->uart->LCR = data_bits << 0
267268
| stop_bits << 2
268269
| parity_enable << 3
@@ -310,7 +311,7 @@ static void serial_irq_set_internal(serial_t *obj, SerialIrq irq, uint32_t enabl
310311
case UART_2: irq_n=UART2_IRQn; vector = (uint32_t)&uart2_irq; break;
311312
case UART_3: irq_n=UART3_IRQn; vector = (uint32_t)&uart3_irq; break;
312313
}
313-
314+
314315
if (enable) {
315316
obj->uart->IER |= 1 << irq;
316317
NVIC_SetVector(irq_n, vector);

0 commit comments

Comments
 (0)