Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-src by
Diff: targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c
- Revision:
- 227:7bd0639b8911
- Parent:
- 220:aa774fb95d17
- Child:
- 339:40bd4701f3e2
diff -r b062af740e40 -r 7bd0639b8911 targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c
--- a/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c Wed Jun 11 09:45:09 2014 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c Wed Jun 11 16:00:09 2014 +0100
@@ -15,6 +15,7 @@
*/
// math.h required for floating point operations for baud rate calculation
+#include "mbed_assert.h"
#include <math.h>
#include <string.h>
#include <stdlib.h>
@@ -22,7 +23,6 @@
#include "serial_api.h"
#include "cmsis.h"
#include "pinmap.h"
-#include "error.h"
#if DEVICE_SERIAL
@@ -82,9 +82,7 @@
UARTName uart_tx = (UARTName)pinmap_peripheral(tx, PinMap_UART_TX);
UARTName uart_rx = (UARTName)pinmap_peripheral(rx, PinMap_UART_RX);
UARTName uart = (UARTName)pinmap_merge(uart_tx, uart_rx);
- if ((int)uart == NC) {
- error("Serial pinout mapping failed");
- }
+ MBED_ASSERT((int)uart != NC);
switch (uart) {
case UART_0:
@@ -252,17 +250,14 @@
}
void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits) {
- // 0: 1 stop bits, 1: 2 stop bits
- if (stop_bits != 1 && stop_bits != 2) {
- error("Invalid stop bits specified");
- }
+ MBED_ASSERT((stop_bits == 1) || (stop_bits == 2)); // 0: 1 stop bits, 1: 2 stop bits
+
stop_bits -= 1;
-
+
if (obj->index == 0) {
- // 0: 5 data bits ... 3: 8 data bits
- if (data_bits < 5 || data_bits > 8) {
- error("Invalid number of bits (%d) in serial format, should be 5..8", data_bits);
- }
+ MBED_ASSERT((data_bits > 4) && (data_bits < 9)); // 0: 5 data bits ... 3: 8 data bits
+ MBED_ASSERT((parity == ParityNone) || (parity == ParityOdd) || (parity == ParityEven) ||
+ (parity == ParityForced1) || (parity == ParityForced0));
data_bits -= 5;
int parity_enable, parity_select;
@@ -273,7 +268,6 @@
case ParityForced1: parity_enable = 1; parity_select = 2; break;
case ParityForced0: parity_enable = 1; parity_select = 3; break;
default:
- error("Invalid serial parity setting");
return;
}
@@ -284,18 +278,16 @@
}
else {
// 0: 7 data bits ... 2: 9 data bits
- if (data_bits < 7 || data_bits > 9) {
- error("Invalid number of bits (%d) in serial format, should be 7..9", data_bits);
- }
+ MBED_ASSERT((data_bits > 6) && (data_bits < 10));
+ MBED_ASSERT((parity == ParityNone) || (parity == ParityOdd) || (parity == ParityEven));
data_bits -= 7;
-
+
int paritysel;
switch (parity) {
case ParityNone: paritysel = 0; break;
case ParityEven: paritysel = 2; break;
case ParityOdd : paritysel = 3; break;
default:
- error("Invalid serial parity setting");
return;
}
obj->mini_uart->CFG = (data_bits << 2)
