TARGET_STM32L0 astyle

pull/7351/head
jeromecoutant 2018-06-27 14:43:59 +02:00
parent e9d7128485
commit baf97d78aa
24 changed files with 239 additions and 229 deletions

View File

@ -119,28 +119,28 @@ MBED_WEAK const PinMap PinMap_PWM[] = {
//*** SERIAL *** //*** SERIAL ***
MBED_WEAK const PinMap PinMap_UART_TX[] = { MBED_WEAK const PinMap PinMap_UART_TX[] = {
{PA_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX
// {PA_2, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX // {PA_2, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
{PA_4, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_4, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
// {PA_9, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART // {PA_9, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
// {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK // {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK
{PA_14, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK {PA_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK
// {PB_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART // {PB_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
{PB_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PB_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_RX[] = { MBED_WEAK const PinMap PinMap_UART_RX[] = {
// {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART // {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
{PA_0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
// {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART // {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
{PA_3, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_3, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
// {PA_10, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART // {PA_10, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
{PA_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS {PA_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS
{PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX
// {PB_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART // {PB_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
{PB_7, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PB_7, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
@ -148,13 +148,13 @@ MBED_WEAK const PinMap PinMap_UART_RTS[] = {
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_12, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_12, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PB_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PB_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PB_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_CTS[] = { MBED_WEAK const PinMap PinMap_UART_CTS[] = {
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PA_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_11, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_11, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{NC, NC, 0} {NC, NC, 0}

View File

@ -47,12 +47,12 @@ typedef enum {
typedef enum { typedef enum {
PA_0 = 0x00, PA_0 = 0x00,
PA_0_ALT0 = PA_0|ALT0, PA_0_ALT0 = PA_0 | ALT0,
PA_1 = 0x01, PA_1 = 0x01,
PA_2 = 0x02, PA_2 = 0x02,
PA_2_ALT0 = PA_2|ALT0, PA_2_ALT0 = PA_2 | ALT0,
PA_3 = 0x03, PA_3 = 0x03,
PA_3_ALT0 = PA_3|ALT0, PA_3_ALT0 = PA_3 | ALT0,
PA_4 = 0x04, PA_4 = 0x04,
PA_5 = 0x05, PA_5 = 0x05,
PA_6 = 0x06, PA_6 = 0x06,
@ -64,20 +64,20 @@ typedef enum {
PA_12 = 0x0C, PA_12 = 0x0C,
PA_13 = 0x0D, PA_13 = 0x0D,
PA_14 = 0x0E, PA_14 = 0x0E,
PA_14_ALT0 = PA_14|ALT0, PA_14_ALT0 = PA_14 | ALT0,
PA_15 = 0x0F, PA_15 = 0x0F,
PB_0 = 0x10, PB_0 = 0x10,
PB_0_ALT0 = PB_0|ALT0, PB_0_ALT0 = PB_0 | ALT0,
PB_1 = 0x11, PB_1 = 0x11,
PB_2 = 0x12, PB_2 = 0x12,
PB_3 = 0x13, PB_3 = 0x13,
PB_4 = 0x14, PB_4 = 0x14,
PB_5 = 0x15, PB_5 = 0x15,
PB_6 = 0x16, PB_6 = 0x16,
PB_6_ALT0 = PB_6|ALT0, PB_6_ALT0 = PB_6 | ALT0,
PB_7 = 0x17, PB_7 = 0x17,
PB_7_ALT0 = PB_7|ALT0, PB_7_ALT0 = PB_7 | ALT0,
PC_14 = 0x2E, PC_14 = 0x2E,
PC_15 = 0x2F, PC_15 = 0x2F,
@ -139,11 +139,11 @@ typedef enum {
SPI_CS = PA_11, SPI_CS = PA_11,
PWM_OUT = PB_0, PWM_OUT = PB_0,
/**** OSCILLATOR pins ****/ /**** OSCILLATOR pins ****/
RCC_OSC32_IN = PC_14, RCC_OSC32_IN = PC_14,
RCC_OSC32_OUT = PC_15, RCC_OSC32_OUT = PC_15,
/**** DEBUG pins ****/ /**** DEBUG pins ****/
SYS_PVD_IN = PB_7, SYS_PVD_IN = PB_7,
SYS_SWCLK = PA_14, SYS_SWCLK = PA_14,
SYS_SWDIO = PA_13, SYS_SWDIO = PA_13,

View File

@ -117,19 +117,19 @@ MBED_WEAK const PinMap PinMap_PWM[] = {
MBED_WEAK const PinMap PinMap_UART_TX[] = { MBED_WEAK const PinMap PinMap_UART_TX[] = {
{PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX
{PA_2_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX {PA_2_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
// {PA_9, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART // {PA_9, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
// {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK // STDIO UART // {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK // STDIO UART
{PA_14, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK {PA_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK
// {PB_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART // {PB_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_RX[] = { MBED_WEAK const PinMap PinMap_UART_RX[] = {
// {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART // {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
{PA_3, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_3, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
// {PA_10, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART // {PA_10, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
{PA_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS {PA_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS
{PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX
// {PB_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART // {PB_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
{NC, NC, 0} {NC, NC, 0}
@ -139,13 +139,13 @@ MBED_WEAK const PinMap PinMap_UART_RTS[] = {
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_12, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_12, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PB_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PB_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PB_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_CTS[] = { MBED_WEAK const PinMap PinMap_UART_CTS[] = {
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PA_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_11, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_11, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{NC, NC, 0} {NC, NC, 0}

View File

@ -49,9 +49,9 @@ typedef enum {
PA_0 = 0x00, PA_0 = 0x00,
PA_1 = 0x01, PA_1 = 0x01,
PA_2 = 0x02, PA_2 = 0x02,
PA_2_ALT0 = PA_2|ALT0, PA_2_ALT0 = PA_2 | ALT0,
PA_3 = 0x03, PA_3 = 0x03,
PA_3_ALT0 = PA_3|ALT0, PA_3_ALT0 = PA_3 | ALT0,
PA_4 = 0x04, PA_4 = 0x04,
PA_5 = 0x05, PA_5 = 0x05,
PA_6 = 0x06, PA_6 = 0x06,
@ -63,7 +63,7 @@ typedef enum {
PA_12 = 0x0C, PA_12 = 0x0C,
PA_13 = 0x0D, PA_13 = 0x0D,
PA_14 = 0x0E, PA_14 = 0x0E,
PA_14_ALT0 = PA_14|ALT0, PA_14_ALT0 = PA_14 | ALT0,
PA_15 = 0x0F, PA_15 = 0x0F,
PB_0 = 0x10, PB_0 = 0x10,
@ -135,11 +135,11 @@ typedef enum {
SPI_CS = PA_11, SPI_CS = PA_11,
PWM_OUT = PB_0, PWM_OUT = PB_0,
/**** OSCILLATOR pins ****/ /**** OSCILLATOR pins ****/
RCC_OSC32_IN = PC_14, RCC_OSC32_IN = PC_14,
RCC_OSC32_OUT = PC_15, RCC_OSC32_OUT = PC_15,
/**** DEBUG pins ****/ /**** DEBUG pins ****/
SYS_PVD_IN = PB_7, SYS_PVD_IN = PB_7,
SYS_SWCLK = PA_14, SYS_SWCLK = PA_14,
SYS_SWDIO = PA_13, SYS_SWDIO = PA_13,

View File

@ -153,18 +153,18 @@ MBED_WEAK const PinMap PinMap_PWM[] = {
MBED_WEAK const PinMap PinMap_UART_TX[] = { MBED_WEAK const PinMap PinMap_UART_TX[] = {
{PA_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PA_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX
{PA_2_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX {PA_2_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK
{PA_14_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK {PA_14_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK
{PB_3, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, {PB_3, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)},
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PB_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)}, {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)},
{PC_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PC_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{PC_4, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, {PC_4, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
{PC_10, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PC_10, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PC_10_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)}, {PC_10_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
{PC_12, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_USART5)}, {PC_12, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_USART5)},
{NC, NC, 0} {NC, NC, 0}
}; };
@ -172,18 +172,18 @@ MBED_WEAK const PinMap PinMap_UART_TX[] = {
MBED_WEAK const PinMap PinMap_UART_RX[] = { MBED_WEAK const PinMap PinMap_UART_RX[] = {
{PA_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PA_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX
{PA_3_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_RX {PA_3_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_RX
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS {PA_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS
{PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PB_4, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, {PB_4, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)},
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)}, {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)},
{PB_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PC_0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PC_0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{PC_5, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, {PC_5, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
{PC_11, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PC_11, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PC_11_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)}, {PC_11_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
{PD_2, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, {PD_2, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)},
{NC, NC, 0} {NC, NC, 0}
}; };
@ -192,22 +192,22 @@ MBED_WEAK const PinMap PinMap_UART_RTS[] = {
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_15, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PA_15, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PB_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PB_3, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)}, {PB_3, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)},
{PB_5, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, {PB_5, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)},
{PB_12, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, {PB_12, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
{PB_14, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PD_2, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)}, {PD_2, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_CTS[] = { MBED_WEAK const PinMap PinMap_UART_CTS[] = {
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PB_4, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)}, {PB_4, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)},
{PB_7, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PB_7, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PB_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };

View File

@ -49,19 +49,19 @@ typedef enum {
PA_0 = 0x00, PA_0 = 0x00,
PA_1 = 0x01, PA_1 = 0x01,
PA_2 = 0x02, PA_2 = 0x02,
PA_2_ALT0 = PA_2|ALT0, PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2|ALT1, PA_2_ALT1 = PA_2 | ALT1,
PA_3 = 0x03, PA_3 = 0x03,
PA_3_ALT0 = PA_3|ALT0, PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3|ALT1, PA_3_ALT1 = PA_3 | ALT1,
PA_4 = 0x04, PA_4 = 0x04,
PA_5 = 0x05, PA_5 = 0x05,
PA_6 = 0x06, PA_6 = 0x06,
PA_6_ALT0 = PA_6|ALT0, PA_6_ALT0 = PA_6 | ALT0,
PA_7 = 0x07, PA_7 = 0x07,
PA_7_ALT0 = PA_7|ALT0, PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7|ALT1, PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7|ALT2, PA_7_ALT2 = PA_7 | ALT2,
PA_8 = 0x08, PA_8 = 0x08,
PA_9 = 0x09, PA_9 = 0x09,
PA_10 = 0x0A, PA_10 = 0x0A,
@ -69,7 +69,7 @@ typedef enum {
PA_12 = 0x0C, PA_12 = 0x0C,
PA_13 = 0x0D, PA_13 = 0x0D,
PA_14 = 0x0E, PA_14 = 0x0E,
PA_14_ALT0 = PA_14|ALT0, PA_14_ALT0 = PA_14 | ALT0,
PA_15 = 0x0F, PA_15 = 0x0F,
PB_0 = 0x10, PB_0 = 0x10,
@ -77,11 +77,11 @@ typedef enum {
PB_2 = 0x12, PB_2 = 0x12,
PB_3 = 0x13, PB_3 = 0x13,
PB_4 = 0x14, PB_4 = 0x14,
PB_4_ALT0 = PB_4|ALT0, PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4|ALT1, PB_4_ALT1 = PB_4 | ALT1,
PB_5 = 0x15, PB_5 = 0x15,
PB_5_ALT0 = PB_5|ALT0, PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5|ALT1, PB_5_ALT1 = PB_5 | ALT1,
PB_6 = 0x16, PB_6 = 0x16,
PB_7 = 0x17, PB_7 = 0x17,
PB_8 = 0x18, PB_8 = 0x18,
@ -100,15 +100,15 @@ typedef enum {
PC_4 = 0x24, PC_4 = 0x24,
PC_5 = 0x25, PC_5 = 0x25,
PC_6 = 0x26, PC_6 = 0x26,
PC_6_ALT0 = PC_6|ALT0, PC_6_ALT0 = PC_6 | ALT0,
PC_7 = 0x27, PC_7 = 0x27,
PC_7_ALT0 = PC_7|ALT0, PC_7_ALT0 = PC_7 | ALT0,
PC_8 = 0x28, PC_8 = 0x28,
PC_9 = 0x29, PC_9 = 0x29,
PC_10 = 0x2A, PC_10 = 0x2A,
PC_10_ALT0 = PC_10|ALT0, PC_10_ALT0 = PC_10 | ALT0,
PC_11 = 0x2B, PC_11 = 0x2B,
PC_11_ALT0 = PC_11|ALT0, PC_11_ALT0 = PC_11 | ALT0,
PC_12 = 0x2C, PC_12 = 0x2C,
PC_13 = 0x2D, PC_13 = 0x2D,
PC_14 = 0x2E, PC_14 = 0x2E,
@ -180,19 +180,19 @@ typedef enum {
SPI_CS = PB_6, SPI_CS = PB_6,
PWM_OUT = PB_3, PWM_OUT = PB_3,
/**** USB pins ****/ /**** USB pins ****/
USB_DM = PA_11, USB_DM = PA_11,
USB_DP = PA_12, USB_DP = PA_12,
USB_NOE = PC_9, USB_NOE = PC_9,
USB_NOE_ALT0 = PA_13, USB_NOE_ALT0 = PA_13,
/**** OSCILLATOR pins ****/ /**** OSCILLATOR pins ****/
RCC_OSC32_IN = PC_14, RCC_OSC32_IN = PC_14,
RCC_OSC32_OUT = PC_15, RCC_OSC32_OUT = PC_15,
RCC_OSC_IN = PH_0, RCC_OSC_IN = PH_0,
RCC_OSC_OUT = PH_1, RCC_OSC_OUT = PH_1,
/**** DEBUG pins ****/ /**** DEBUG pins ****/
SYS_PVD_IN = PB_7, SYS_PVD_IN = PB_7,
SYS_SWCLK = PA_14, SYS_SWCLK = PA_14,
SYS_SWDIO = PA_13, SYS_SWDIO = PA_13,

View File

@ -129,7 +129,7 @@ MBED_WEAK const PinMap PinMap_UART_TX[] = {
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to STDIO_UART_TX {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to STDIO_UART_TX
{PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to SWCLK {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to SWCLK
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to ePD1_PWR_ENn [ePaper_PowerOn] {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to ePD1_PWR_ENn [ePaper_PowerOn]
{NC, NC, 0} {NC, NC, 0}
}; };
@ -138,24 +138,24 @@ MBED_WEAK const PinMap PinMap_UART_RX[] = {
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to STDIO_UART_RX {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to STDIO_UART_RX
{PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to ePD1_CS [ePaper_CS\#] {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to ePD1_CS [ePaper_CS\#]
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to ePD1_D/C [ePaper_D/C\#] {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to ePD1_D/C [ePaper_D/C\#]
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_RTS[] = { MBED_WEAK const PinMap PinMap_UART_RTS[] = {
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to MFX_WAKEUP {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to MFX_WAKEUP
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to USB1_DP {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to USB1_DP
{PB_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to TSC_G3_IO3 {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to TSC_G3_IO3
{PB_12, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, // Connected to NFC_NSS {PB_12, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, // Connected to NFC_NSS
{PB_14, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to NFC_MISO {PB_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to NFC_MISO
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_CTS[] = { MBED_WEAK const PinMap PinMap_UART_CTS[] = {
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to B1 [Blue PushButton] {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to B1 [Blue PushButton]
{PA_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to TSC_G2_IO3 {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to TSC_G2_IO3
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to USB1_DM {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to USB1_DM
{PB_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to NFC_SCK {PB_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to NFC_SCK
{NC, NC, 0} {NC, NC, 0}
}; };

View File

@ -143,18 +143,18 @@ typedef enum {
SPI_CS = PB_12, SPI_CS = PB_12,
PWM_OUT = PB_11, PWM_OUT = PB_11,
/**** USB pins ****/ /**** USB pins ****/
USB_DM = PA_11, USB_DM = PA_11,
USB_DP = PA_12, USB_DP = PA_12,
USB_NOE = PA_13, USB_NOE = PA_13,
/**** OSCILLATOR pins ****/ /**** OSCILLATOR pins ****/
RCC_OSC32_IN = PC_14, RCC_OSC32_IN = PC_14,
RCC_OSC32_OUT = PC_15, RCC_OSC32_OUT = PC_15,
RCC_OSC_IN = PH_0, RCC_OSC_IN = PH_0,
RCC_OSC_OUT = PH_1, RCC_OSC_OUT = PH_1,
/**** DEBUG pins ****/ /**** DEBUG pins ****/
SYS_PVD_IN = PB_7, SYS_PVD_IN = PB_7,
SYS_SWCLK = PA_14, SYS_SWCLK = PA_14,
SYS_SWDIO = PA_13, SYS_SWDIO = PA_13,

View File

@ -55,7 +55,7 @@ uint8_t SetSysClock_PLL_HSI(void);
* @param None * @param None
* @retval None * @retval None
*/ */
void SystemInit (void) void SystemInit(void)
{ {
/*!< Set MSION bit */ /*!< Set MSION bit */
RCC->CR |= (uint32_t)0x00000100U; RCC->CR |= (uint32_t)0x00000100U;
@ -112,7 +112,7 @@ void SetSysClock(void)
if (SetSysClock_PLL_HSI() == 0) if (SetSysClock_PLL_HSI() == 0)
#endif #endif
{ {
while(1) { while (1) {
MBED_ASSERT(1); MBED_ASSERT(1);
} }
} }

View File

@ -137,9 +137,9 @@ MBED_WEAK const PinMap PinMap_UART_TX[] = {
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PC_4, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, {PC_4, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
{PC_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)}, {PC_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
@ -148,27 +148,27 @@ MBED_WEAK const PinMap PinMap_UART_RX[] = {
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PC_5, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, {PC_5, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
{PC_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)}, {PC_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_RTS[] = { MBED_WEAK const PinMap PinMap_UART_RTS[] = {
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PB_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PB_12, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, {PB_12, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
{PB_14, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PD_2, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)}, {PD_2, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_CTS[] = { MBED_WEAK const PinMap PinMap_UART_CTS[] = {
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PB_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{NC, NC, 0} {NC, NC, 0}
}; };

View File

@ -156,19 +156,19 @@ typedef enum {
SPI_CS = PB_6, SPI_CS = PB_6,
PWM_OUT = PB_3, PWM_OUT = PB_3,
/**** USB pins ****/ /**** USB pins ****/
USB_DM = PA_11, USB_DM = PA_11,
USB_DP = PA_12, USB_DP = PA_12,
USB_NOE = PC_9, USB_NOE = PC_9,
USB_NOE_ALT0 = PA_13, USB_NOE_ALT0 = PA_13,
/**** OSCILLATOR pins ****/ /**** OSCILLATOR pins ****/
RCC_OSC32_IN = PC_14, RCC_OSC32_IN = PC_14,
RCC_OSC32_OUT = PC_15, RCC_OSC32_OUT = PC_15,
RCC_OSC_IN = PH_0, RCC_OSC_IN = PH_0,
RCC_OSC_OUT = PH_1, RCC_OSC_OUT = PH_1,
/**** DEBUG pins ****/ /**** DEBUG pins ****/
SYS_PVD_IN = PB_7, SYS_PVD_IN = PB_7,
SYS_SWCLK = PA_14, SYS_SWCLK = PA_14,
SYS_SWDIO = PA_13, SYS_SWDIO = PA_13,

View File

@ -55,7 +55,7 @@ uint8_t SetSysClock_PLL_HSI(void);
* @param None * @param None
* @retval None * @retval None
*/ */
void SystemInit (void) void SystemInit(void)
{ {
/*!< Set MSION bit */ /*!< Set MSION bit */
RCC->CR |= (uint32_t)0x00000100U; RCC->CR |= (uint32_t)0x00000100U;
@ -112,7 +112,7 @@ void SetSysClock(void)
if (SetSysClock_PLL_HSI() == 0) if (SetSysClock_PLL_HSI() == 0)
#endif #endif
{ {
while(1) { while (1) {
MBED_ASSERT(1); MBED_ASSERT(1);
} }
} }
@ -145,7 +145,7 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/* Enable HSE and HSI48 oscillators and activate PLL with HSE as source */ /* Enable HSE and HSI48 oscillators and activate PLL with HSE as source */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_HSI48; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI48;
if (bypass == 0) { if (bypass == 0) {
RCC_OscInitStruct.HSEState = RCC_HSE_ON; /* External 8 MHz xtal on OSC_IN/OSC_OUT */ RCC_OscInitStruct.HSEState = RCC_HSE_ON; /* External 8 MHz xtal on OSC_IN/OSC_OUT */
} else { } else {

View File

@ -146,12 +146,12 @@ MBED_WEAK const PinMap PinMap_UART_TX[] = {
// {PA_2, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX // {PA_2, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_14_ALT0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_14_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{PB_3, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, // Connected to RADIO_SCLK {PB_3, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, // Connected to RADIO_SCLK
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PB_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)}, {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)},
{PC_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to RADIO_ANT_SWITCH_TX_BOOST {PC_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to RADIO_ANT_SWITCH_TX_BOOST
{NC, NC, 0} {NC, NC, 0}
}; };
@ -160,13 +160,13 @@ MBED_WEAK const PinMap PinMap_UART_RX[] = {
{PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX
// {PA_3, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX // {PA_3, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PA_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, {PA_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
{PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to RADIO_NSS {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to RADIO_NSS
{PB_4, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, // Connected to RADIO_DIO_0 {PB_4, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, // Connected to RADIO_DIO_0
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)}, {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_10, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)}, {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_LPUART1)},
{PB_11, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
{PC_0, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to RADIO_RESET {PC_0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to RADIO_RESET
{NC, NC, 0} {NC, NC, 0}
}; };
@ -174,21 +174,21 @@ MBED_WEAK const PinMap PinMap_UART_RTS[] = {
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to RADIO_ANT_SWITCH_RX {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to RADIO_ANT_SWITCH_RX
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to RADIO_TCXO_VCC {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, // Connected to RADIO_TCXO_VCC
{PA_15, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, // Connected to RADIO_NSS {PA_15, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, // Connected to RADIO_NSS
{PB_1, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to RADIO_DIO_1 {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to RADIO_DIO_1
{PB_3, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)}, // Connected to RADIO_SCLK {PB_3, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)}, // Connected to RADIO_SCLK
{PB_5, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)}, {PB_5, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART5)},
{PB_12, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, // Connected to SPI2_NSS {PB_12, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)}, // Connected to SPI2_NSS
{PB_14, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to SPI2_MISO {PB_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to SPI2_MISO
{NC, NC, 0} {NC, NC, 0}
}; };
MBED_WEAK const PinMap PinMap_UART_CTS[] = { MBED_WEAK const PinMap PinMap_UART_CTS[] = {
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
{PA_6, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to RADIO_MISO {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to RADIO_MISO
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
{PB_4, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)}, // Connected to RADIO_DIO_0 {PB_4, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USART1)}, // Connected to RADIO_DIO_0
{PB_7, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)}, {PB_7, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_USART4)},
{PB_13, LPUART_1,STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to SPI2_SCK {PB_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)}, // Connected to SPI2_SCK
{NC, NC, 0} {NC, NC, 0}
}; };

View File

@ -49,15 +49,15 @@ typedef enum {
PA_0 = 0x00, PA_0 = 0x00,
PA_1 = 0x01, PA_1 = 0x01,
PA_2 = 0x02, PA_2 = 0x02,
PA_2_ALT0 = PA_2|ALT0, PA_2_ALT0 = PA_2 | ALT0,
PA_3 = 0x03, PA_3 = 0x03,
PA_3_ALT0 = PA_3|ALT0, PA_3_ALT0 = PA_3 | ALT0,
PA_4 = 0x04, PA_4 = 0x04,
PA_5 = 0x05, PA_5 = 0x05,
PA_6 = 0x06, PA_6 = 0x06,
PA_6_ALT0 = PA_6|ALT0, PA_6_ALT0 = PA_6 | ALT0,
PA_7 = 0x07, PA_7 = 0x07,
PA_7_ALT0 = PA_7|ALT0, PA_7_ALT0 = PA_7 | ALT0,
PA_8 = 0x08, PA_8 = 0x08,
PA_9 = 0x09, PA_9 = 0x09,
PA_10 = 0x0A, PA_10 = 0x0A,
@ -65,7 +65,7 @@ typedef enum {
PA_12 = 0x0C, PA_12 = 0x0C,
PA_13 = 0x0D, PA_13 = 0x0D,
PA_14 = 0x0E, PA_14 = 0x0E,
PA_14_ALT0 = PA_14|ALT0, PA_14_ALT0 = PA_14 | ALT0,
PA_15 = 0x0F, PA_15 = 0x0F,
PB_0 = 0x10, PB_0 = 0x10,
@ -73,9 +73,9 @@ typedef enum {
PB_2 = 0x12, PB_2 = 0x12,
PB_3 = 0x13, PB_3 = 0x13,
PB_4 = 0x14, PB_4 = 0x14,
PB_4_ALT0 = PB_4|ALT0, PB_4_ALT0 = PB_4 | ALT0,
PB_5 = 0x15, PB_5 = 0x15,
PB_5_ALT0 = PB_5|ALT0, PB_5_ALT0 = PB_5 | ALT0,
PB_6 = 0x16, PB_6 = 0x16,
PB_7 = 0x17, PB_7 = 0x17,
PB_8 = 0x18, PB_8 = 0x18,
@ -156,18 +156,18 @@ typedef enum {
SPI_CS = D10, SPI_CS = D10,
PWM_OUT = D13, PWM_OUT = D13,
/**** USB pins ****/ /**** USB pins ****/
USB_DM = PA_11, USB_DM = PA_11,
USB_DP = PA_12, USB_DP = PA_12,
USB_NOE = PA_13, USB_NOE = PA_13,
/**** OSCILLATOR pins ****/ /**** OSCILLATOR pins ****/
RCC_OSC32_IN = PC_14, RCC_OSC32_IN = PC_14,
RCC_OSC32_OUT = PC_15, RCC_OSC32_OUT = PC_15,
RCC_OSC_IN = PH_0, RCC_OSC_IN = PH_0,
RCC_OSC_OUT = PH_1, RCC_OSC_OUT = PH_1,
/**** DEBUG pins ****/ /**** DEBUG pins ****/
SYS_PVD_IN = PB_7, SYS_PVD_IN = PB_7,
SYS_SWCLK = PA_14, SYS_SWCLK = PA_14,
SYS_SWDIO = PA_13, SYS_SWDIO = PA_13,

View File

@ -58,7 +58,7 @@ uint8_t SetSysClock_PLL_HSI(void);
* @param None * @param None
* @retval None * @retval None
*/ */
void SystemInit (void) void SystemInit(void)
{ {
/*!< Set MSION bit */ /*!< Set MSION bit */
RCC->CR |= (uint32_t)0x00000100U; RCC->CR |= (uint32_t)0x00000100U;
@ -115,7 +115,7 @@ void SetSysClock(void)
if (SetSysClock_PLL_HSI() == 0) if (SetSysClock_PLL_HSI() == 0)
#endif #endif
{ {
while(1) { while (1) {
MBED_ASSERT(1); MBED_ASSERT(1);
} }
} }
@ -170,7 +170,7 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
if (HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInit) != HAL_OK) { if (HAL_RCCEx_PeriphCLKConfig(&RCC_PeriphClkInit) != HAL_OK) {
return 0; // FAIL return 0; // FAIL
} }
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */ /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 32 MHz RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 32 MHz
@ -200,8 +200,7 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
// Output clock on MCO1 pin(PA8) for debugging purpose // Output clock on MCO1 pin(PA8) for debugging purpose
if (bypass == 0) { // Xtal used if (bypass == 0) { // Xtal used
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_2); // 16 MHz HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_2); // 16 MHz
} } else { // External clock used
else { // External clock used
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_4); // 8 MHz HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_4); // 8 MHz
} }
#endif #endif

View File

@ -80,7 +80,7 @@ typedef enum {
PB_13 = 0x1D, PB_13 = 0x1D,
PB_14 = 0x1E, PB_14 = 0x1E,
PB_15 = 0x1F, PB_15 = 0x1F,
PC_0 = 0x20, PC_0 = 0x20,
PC_1 = 0x21, PC_1 = 0x21,
PC_2 = 0x22, PC_2 = 0x22,
@ -122,7 +122,7 @@ typedef enum {
LCD_A0 = PB_2, LCD_A0 = PB_2,
LCD_RESET = PB_5, LCD_RESET = PB_5,
LCD_NCS = PB_6, LCD_NCS = PB_6,
LORA_SPI_MOSI = PA_7, LORA_SPI_MOSI = PA_7,
LORA_SPI_MISO = PA_6, LORA_SPI_MISO = PA_6,
LORA_SPI_SCLK = PB_3, LORA_SPI_SCLK = PB_3,

View File

@ -42,7 +42,7 @@ uint8_t SetSysClock_PLL_HSI(void);
* @param None * @param None
* @retval None * @retval None
*/ */
void SystemInit (void) void SystemInit(void)
{ {
/*!< Set MSION bit */ /*!< Set MSION bit */
RCC->CR |= (uint32_t)0x00000100U; RCC->CR |= (uint32_t)0x00000100U;
@ -84,9 +84,8 @@ void SystemInit (void)
*/ */
void SetSysClock(void) void SetSysClock(void)
{ {
if (SetSysClock_PLL_HSI() == 0) if (SetSysClock_PLL_HSI() == 0) {
{ while (1) {
while(1) {
MBED_ASSERT(1); MBED_ASSERT(1);
} }
} }

View File

@ -39,7 +39,8 @@
static int channel1_used = 0; static int channel1_used = 0;
static int channel2_used = 0; static int channel2_used = 0;
void analogout_init(dac_t *obj, PinName pin) { void analogout_init(dac_t *obj, PinName pin)
{
DAC_ChannelConfTypeDef sConfig = {0}; DAC_ChannelConfTypeDef sConfig = {0};
// Get the peripheral name from the pin and assign it to the object // Get the peripheral name from the pin and assign it to the object
@ -76,7 +77,7 @@ void analogout_init(dac_t *obj, PinName pin) {
obj->handle.Instance = DAC; obj->handle.Instance = DAC;
obj->handle.State = HAL_DAC_STATE_RESET; obj->handle.State = HAL_DAC_STATE_RESET;
if (HAL_DAC_Init(&obj->handle) != HAL_OK ) { if (HAL_DAC_Init(&obj->handle) != HAL_OK) {
error("HAL_DAC_Init failed"); error("HAL_DAC_Init failed");
} }
@ -96,11 +97,16 @@ void analogout_init(dac_t *obj, PinName pin) {
analogout_write_u16(obj, 0); analogout_write_u16(obj, 0);
} }
void analogout_free(dac_t *obj) { void analogout_free(dac_t *obj)
{
// Reset DAC and disable clock // Reset DAC and disable clock
if (obj->channel == DAC_CHANNEL_1) channel1_used = 0; if (obj->channel == DAC_CHANNEL_1) {
channel1_used = 0;
}
#if defined(DAC_CHANNEL_2) #if defined(DAC_CHANNEL_2)
if (obj->channel == DAC_CHANNEL_2) channel2_used = 0; if (obj->channel == DAC_CHANNEL_2) {
channel2_used = 0;
}
#endif #endif
if ((channel1_used == 0) && (channel2_used == 0)) { if ((channel1_used == 0) && (channel2_used == 0)) {
__DAC_FORCE_RESET(); __DAC_FORCE_RESET();

View File

@ -95,7 +95,7 @@ int32_t flash_erase_sector(flash_t *obj, uint32_t address)
} }
int32_t flash_program_page(flash_t *obj, uint32_t address, int32_t flash_program_page(flash_t *obj, uint32_t address,
const uint8_t *data, uint32_t size) const uint8_t *data, uint32_t size)
{ {
uint32_t StartAddress = 0; uint32_t StartAddress = 0;
int32_t status = 0; int32_t status = 0;
@ -121,7 +121,7 @@ int32_t flash_program_page(flash_t *obj, uint32_t address,
if ((uint32_t) data % 4 != 0) { if ((uint32_t) data % 4 != 0) {
volatile uint32_t data32; volatile uint32_t data32;
while ((address < (StartAddress + size)) && (status == 0)) { while ((address < (StartAddress + size)) && (status == 0)) {
for (uint8_t i =0; i < 4; i++) { for (uint8_t i = 0; i < 4; i++) {
*(((uint8_t *) &data32) + i) = *(data + i); *(((uint8_t *) &data32) + i) = *(data + i);
} }
@ -134,7 +134,7 @@ int32_t flash_program_page(flash_t *obj, uint32_t address,
} }
} else { /* case where data is aligned, so let's avoid any copy */ } else { /* case where data is aligned, so let's avoid any copy */
while ((address < (StartAddress + size)) && (status == 0)) { while ((address < (StartAddress + size)) && (status == 0)) {
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, address, *((uint32_t*) data)) == HAL_OK) { if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, address, *((uint32_t *) data)) == HAL_OK) {
address = address + 4; address = address + 4;
data = data + 4; data = data + 4;
} else { } else {
@ -148,7 +148,8 @@ int32_t flash_program_page(flash_t *obj, uint32_t address,
return status; return status;
} }
uint32_t flash_get_sector_size(const flash_t *obj, uint32_t address) { uint32_t flash_get_sector_size(const flash_t *obj, uint32_t address)
{
if ((address >= (FLASH_BASE + FLASH_SIZE)) || (address < FLASH_BASE)) { if ((address >= (FLASH_BASE + FLASH_SIZE)) || (address < FLASH_BASE)) {
return MBED_FLASH_INVALID_SIZE; return MBED_FLASH_INVALID_SIZE;
} else { } else {
@ -157,16 +158,19 @@ uint32_t flash_get_sector_size(const flash_t *obj, uint32_t address) {
} }
} }
uint32_t flash_get_page_size(const flash_t *obj) { uint32_t flash_get_page_size(const flash_t *obj)
{
/* Page size is the minimum programable size, which 4 bytes */ /* Page size is the minimum programable size, which 4 bytes */
return 4; return 4;
} }
uint32_t flash_get_start_address(const flash_t *obj) { uint32_t flash_get_start_address(const flash_t *obj)
{
return FLASH_BASE; return FLASH_BASE;
} }
uint32_t flash_get_size(const flash_t *obj) { uint32_t flash_get_size(const flash_t *obj)
{
return FLASH_SIZE; return FLASH_SIZE;
} }

View File

@ -68,9 +68,9 @@ static inline uint32_t get_i2c_timing(int hz)
switch (hz) { switch (hz) {
case 100000: case 100000:
tim = 0x20602938; // Standard mode with Rise Time = 400ns and Fall Time = 100ns tim = 0x20602938; // Standard mode with Rise Time = 400ns and Fall Time = 100ns
break; break;
case 400000: case 400000:
tim = 0x00B0122A; // Fast mode with Rise Time = 250ns and Fall Time = 100ns tim = 0x00B0122A; // Fast mode with Rise Time = 250ns and Fall Time = 100ns
break; break;
case 1000000: case 1000000:
tim = 0x0030040E; // Fast mode Plus with Rise Time = 60ns and Fall Time = 100ns tim = 0x0030040E; // Fast mode Plus with Rise Time = 60ns and Fall Time = 100ns

View File

@ -56,14 +56,15 @@ static inline void stm_pin_PullConfig(GPIO_TypeDef *gpio, uint32_t ll_pin, uint3
} }
} }
static inline void stm_pin_SetAFPin( GPIO_TypeDef *gpio, PinName pin, uint32_t afnum) static inline void stm_pin_SetAFPin(GPIO_TypeDef *gpio, PinName pin, uint32_t afnum)
{ {
uint32_t ll_pin = ll_pin_defines[STM_PIN(pin)]; uint32_t ll_pin = ll_pin_defines[STM_PIN(pin)];
if (STM_PIN(pin) > 7) if (STM_PIN(pin) > 7) {
LL_GPIO_SetAFPin_8_15(gpio, ll_pin, afnum); LL_GPIO_SetAFPin_8_15(gpio, ll_pin, afnum);
else } else {
LL_GPIO_SetAFPin_0_7(gpio, ll_pin, afnum); LL_GPIO_SetAFPin_0_7(gpio, ll_pin, afnum);
}
} }
#endif #endif

View File

@ -33,8 +33,7 @@
#ifdef DEVICE_PWMOUT #ifdef DEVICE_PWMOUT
const pwm_apb_map_t pwm_apb_map_table[] = const pwm_apb_map_t pwm_apb_map_table[] = {
{
#if defined(TIM2_BASE) #if defined(TIM2_BASE)
{PWM_2, PWMOUT_ON_APB1}, {PWM_2, PWMOUT_ON_APB1},
#endif #endif

View File

@ -33,11 +33,11 @@
#include "serial_api_hal.h" #include "serial_api_hal.h"
#if defined (TARGET_STM32L011K4) || defined (TARGET_STM32L031K6) #if defined (TARGET_STM32L011K4) || defined (TARGET_STM32L031K6)
#define UART_NUM (2) #define UART_NUM (2)
#elif defined (TARGET_STM32L053x8) #elif defined (TARGET_STM32L053x8)
#define UART_NUM (3) #define UART_NUM (3)
#else #else
#define UART_NUM (5) #define UART_NUM (5)
#endif #endif
uint32_t serial_irq_ids[UART_NUM] = {0}; uint32_t serial_irq_ids[UART_NUM] = {0};
@ -57,7 +57,7 @@ static void uart_irq(UARTName uart_name)
int8_t id = get_uart_index(uart_name); int8_t id = get_uart_index(uart_name);
if (id >= 0) { if (id >= 0) {
UART_HandleTypeDef * huart = &uart_handlers[id]; UART_HandleTypeDef *huart = &uart_handlers[id];
if (serial_irq_ids[id] != 0) { if (serial_irq_ids[id] != 0) {
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TXE) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TXE) != RESET) {
if (__HAL_UART_GET_IT(huart, UART_IT_TXE) != RESET) { if (__HAL_UART_GET_IT(huart, UART_IT_TXE) != RESET) {
@ -117,7 +117,7 @@ static void lpuart1_irq(void)
void serial_irq_handler(serial_t *obj, uart_irq_handler handler, uint32_t id) void serial_irq_handler(serial_t *obj, uart_irq_handler handler, uint32_t id)
{ {
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
irq_handler = handler; irq_handler = handler;
serial_irq_ids[obj_s->index] = id; serial_irq_ids[obj_s->index] = id;
} }
@ -240,7 +240,7 @@ void serial_break_set(serial_t *obj)
* LOCAL HELPER FUNCTIONS * LOCAL HELPER FUNCTIONS
******************************************************************************/ ******************************************************************************/
/** /**
* Configure the TX buffer for an asynchronous write serial transaction * Configure the TX buffer for an asynchronous write serial transaction
* *
* @param obj The serial object. * @param obj The serial object.
@ -260,7 +260,7 @@ static void serial_tx_buffer_set(serial_t *obj, void *tx, int tx_length, uint8_t
obj->tx_buff.length = tx_length; obj->tx_buff.length = tx_length;
obj->tx_buff.pos = 0; obj->tx_buff.pos = 0;
} }
/** /**
* Configure the RX buffer for an asynchronous write serial transaction * Configure the RX buffer for an asynchronous write serial transaction
* *
@ -282,7 +282,7 @@ static void serial_rx_buffer_set(serial_t *obj, void *rx, int rx_length, uint8_t
obj->rx_buff.pos = 0; obj->rx_buff.pos = 0;
} }
/** /**
* Configure events * Configure events
* *
* @param obj The serial object * @param obj The serial object
@ -290,9 +290,9 @@ static void serial_rx_buffer_set(serial_t *obj, void *rx, int rx_length, uint8_t
* @param enable Set to non-zero to enable events, or zero to disable them * @param enable Set to non-zero to enable events, or zero to disable them
*/ */
static void serial_enable_event(serial_t *obj, int event, uint8_t enable) static void serial_enable_event(serial_t *obj, int event, uint8_t enable)
{ {
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
// Shouldn't have to enable interrupt here, just need to keep track of the requested events. // Shouldn't have to enable interrupt here, just need to keep track of the requested events.
if (enable) { if (enable) {
obj_s->events |= event; obj_s->events |= event;
@ -350,7 +350,7 @@ static IRQn_Type serial_get_irq_n(UARTName uart_name)
* MBED API FUNCTIONS * MBED API FUNCTIONS
******************************************************************************/ ******************************************************************************/
/** /**
* Begin asynchronous TX transfer. The used buffer is specified in the serial * Begin asynchronous TX transfer. The used buffer is specified in the serial
* object, tx_buff * object, tx_buff
* *
@ -364,28 +364,28 @@ static IRQn_Type serial_get_irq_n(UARTName uart_name)
* @return Returns number of data transfered, or 0 otherwise * @return Returns number of data transfered, or 0 otherwise
*/ */
int serial_tx_asynch(serial_t *obj, const void *tx, size_t tx_length, uint8_t tx_width, uint32_t handler, uint32_t event, DMAUsage hint) int serial_tx_asynch(serial_t *obj, const void *tx, size_t tx_length, uint8_t tx_width, uint32_t handler, uint32_t event, DMAUsage hint)
{ {
// TODO: DMA usage is currently ignored // TODO: DMA usage is currently ignored
(void) hint; (void) hint;
// Check buffer is ok // Check buffer is ok
MBED_ASSERT(tx != (void*)0); MBED_ASSERT(tx != (void *)0);
MBED_ASSERT(tx_width == 8); // support only 8b width MBED_ASSERT(tx_width == 8); // support only 8b width
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef * huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
if (tx_length == 0) { if (tx_length == 0) {
return 0; return 0;
} }
// Set up buffer // Set up buffer
serial_tx_buffer_set(obj, (void *)tx, tx_length, tx_width); serial_tx_buffer_set(obj, (void *)tx, tx_length, tx_width);
// Set up events // Set up events
serial_enable_event(obj, SERIAL_EVENT_TX_ALL, 0); // Clear all events serial_enable_event(obj, SERIAL_EVENT_TX_ALL, 0); // Clear all events
serial_enable_event(obj, event, 1); // Set only the wanted events serial_enable_event(obj, event, 1); // Set only the wanted events
// Enable interrupt // Enable interrupt
IRQn_Type irq_n = serial_get_irq_n(obj_s->uart); IRQn_Type irq_n = serial_get_irq_n(obj_s->uart);
NVIC_ClearPendingIRQ(irq_n); NVIC_ClearPendingIRQ(irq_n);
@ -395,14 +395,14 @@ int serial_tx_asynch(serial_t *obj, const void *tx, size_t tx_length, uint8_t tx
NVIC_EnableIRQ(irq_n); NVIC_EnableIRQ(irq_n);
// the following function will enable UART_IT_TXE and error interrupts // the following function will enable UART_IT_TXE and error interrupts
if (HAL_UART_Transmit_IT(huart, (uint8_t*)tx, tx_length) != HAL_OK) { if (HAL_UART_Transmit_IT(huart, (uint8_t *)tx, tx_length) != HAL_OK) {
return 0; return 0;
} }
return tx_length; return tx_length;
} }
/** /**
* Begin asynchronous RX transfer (enable interrupt for data collecting) * Begin asynchronous RX transfer (enable interrupt for data collecting)
* The used buffer is specified in the serial object, rx_buff * The used buffer is specified in the serial object, rx_buff
* *
@ -423,18 +423,18 @@ void serial_rx_asynch(serial_t *obj, void *rx, size_t rx_length, uint8_t rx_widt
/* Sanity check arguments */ /* Sanity check arguments */
MBED_ASSERT(obj); MBED_ASSERT(obj);
MBED_ASSERT(rx != (void*)0); MBED_ASSERT(rx != (void *)0);
MBED_ASSERT(rx_width == 8); // support only 8b width MBED_ASSERT(rx_width == 8); // support only 8b width
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
serial_enable_event(obj, SERIAL_EVENT_RX_ALL, 0); serial_enable_event(obj, SERIAL_EVENT_RX_ALL, 0);
serial_enable_event(obj, event, 1); serial_enable_event(obj, event, 1);
// set CharMatch // set CharMatch
obj->char_match = char_match; obj->char_match = char_match;
serial_rx_buffer_set(obj, rx, rx_length, rx_width); serial_rx_buffer_set(obj, rx, rx_length, rx_width);
IRQn_Type irq_n = serial_get_irq_n(obj_s->uart); IRQn_Type irq_n = serial_get_irq_n(obj_s->uart);
@ -444,8 +444,8 @@ void serial_rx_asynch(serial_t *obj, void *rx, size_t rx_length, uint8_t rx_widt
NVIC_SetVector(irq_n, (uint32_t)handler); NVIC_SetVector(irq_n, (uint32_t)handler);
NVIC_EnableIRQ(irq_n); NVIC_EnableIRQ(irq_n);
// following HAL function will enable the RXNE interrupt + error interrupts // following HAL function will enable the RXNE interrupt + error interrupts
HAL_UART_Receive_IT(huart, (uint8_t*)rx, rx_length); HAL_UART_Receive_IT(huart, (uint8_t *)rx, rx_length);
} }
/** /**
@ -457,10 +457,10 @@ void serial_rx_asynch(serial_t *obj, void *rx, size_t rx_length, uint8_t rx_widt
uint8_t serial_tx_active(serial_t *obj) uint8_t serial_tx_active(serial_t *obj)
{ {
MBED_ASSERT(obj); MBED_ASSERT(obj);
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
return ((HAL_UART_GetState(huart) == HAL_UART_STATE_BUSY_TX) ? 1 : 0); return ((HAL_UART_GetState(huart) == HAL_UART_STATE_BUSY_TX) ? 1 : 0);
} }
@ -473,14 +473,15 @@ uint8_t serial_tx_active(serial_t *obj)
uint8_t serial_rx_active(serial_t *obj) uint8_t serial_rx_active(serial_t *obj)
{ {
MBED_ASSERT(obj); MBED_ASSERT(obj);
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
return ((HAL_UART_GetState(huart) == HAL_UART_STATE_BUSY_RX) ? 1 : 0); return ((HAL_UART_GetState(huart) == HAL_UART_STATE_BUSY_RX) ? 1 : 0);
} }
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
} }
@ -496,58 +497,58 @@ int serial_irq_handler_asynch(serial_t *obj)
{ {
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
volatile int return_event = 0; volatile int return_event = 0;
uint8_t *buf = (uint8_t*)(obj->rx_buff.buffer); uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
uint8_t i = 0; uint8_t i = 0;
// TX PART: // TX PART:
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {
if (__HAL_UART_GET_IT_SOURCE(huart, UART_IT_TC) != RESET) { if (__HAL_UART_GET_IT_SOURCE(huart, UART_IT_TC) != RESET) {
// Return event SERIAL_EVENT_TX_COMPLETE if requested // Return event SERIAL_EVENT_TX_COMPLETE if requested
if ((obj_s->events & SERIAL_EVENT_TX_COMPLETE ) != 0) { if ((obj_s->events & SERIAL_EVENT_TX_COMPLETE) != 0) {
return_event |= (SERIAL_EVENT_TX_COMPLETE & obj_s->events); return_event |= (SERIAL_EVENT_TX_COMPLETE & obj_s->events);
} }
} }
} }
// Handle error events // Handle error events
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_PE) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_PE) != RESET) {
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
if (__HAL_UART_GET_IT(huart, USART_IT_ERR) != RESET) { if (__HAL_UART_GET_IT(huart, USART_IT_ERR) != RESET) {
return_event |= (SERIAL_EVENT_RX_PARITY_ERROR & obj_s->events); return_event |= (SERIAL_EVENT_RX_PARITY_ERROR & obj_s->events);
} }
} }
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_FE) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_FE) != RESET) {
if (__HAL_UART_GET_IT(huart, UART_IT_FE) != RESET) { if (__HAL_UART_GET_IT(huart, UART_IT_FE) != RESET) {
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
return_event |= (SERIAL_EVENT_RX_FRAMING_ERROR & obj_s->events); return_event |= (SERIAL_EVENT_RX_FRAMING_ERROR & obj_s->events);
} }
} }
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_NE) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_NE) != RESET) {
if (__HAL_UART_GET_IT(huart, UART_IT_NE) != RESET) { if (__HAL_UART_GET_IT(huart, UART_IT_NE) != RESET) {
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
} }
} }
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) != RESET) { if (__HAL_UART_GET_FLAG(huart, UART_FLAG_ORE) != RESET) {
if (__HAL_UART_GET_IT(huart, UART_IT_ORE) != RESET) { if (__HAL_UART_GET_IT(huart, UART_IT_ORE) != RESET) {
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
return_event |= (SERIAL_EVENT_RX_OVERRUN_ERROR & obj_s->events); return_event |= (SERIAL_EVENT_RX_OVERRUN_ERROR & obj_s->events);
} }
} }
HAL_UART_IRQHandler(huart); HAL_UART_IRQHandler(huart);
// Abort if an error occurs // Abort if an error occurs
if ((return_event & SERIAL_EVENT_RX_PARITY_ERROR) || if ((return_event & SERIAL_EVENT_RX_PARITY_ERROR) ||
(return_event & SERIAL_EVENT_RX_FRAMING_ERROR) || (return_event & SERIAL_EVENT_RX_FRAMING_ERROR) ||
(return_event & SERIAL_EVENT_RX_OVERRUN_ERROR)) { (return_event & SERIAL_EVENT_RX_OVERRUN_ERROR)) {
return return_event; return return_event;
} }
//RX PART //RX PART
if (huart->RxXferSize != 0) { if (huart->RxXferSize != 0) {
obj->rx_buff.pos = huart->RxXferSize - huart->RxXferCount; obj->rx_buff.pos = huart->RxXferSize - huart->RxXferCount;
@ -555,7 +556,7 @@ int serial_irq_handler_asynch(serial_t *obj)
if ((huart->RxXferCount == 0) && (obj->rx_buff.pos >= (obj->rx_buff.length - 1))) { if ((huart->RxXferCount == 0) && (obj->rx_buff.pos >= (obj->rx_buff.length - 1))) {
return_event |= (SERIAL_EVENT_RX_COMPLETE & obj_s->events); return_event |= (SERIAL_EVENT_RX_COMPLETE & obj_s->events);
} }
// Check if char_match is present // Check if char_match is present
if (obj_s->events & SERIAL_EVENT_RX_CHARACTER_MATCH) { if (obj_s->events & SERIAL_EVENT_RX_CHARACTER_MATCH) {
if (buf != NULL) { if (buf != NULL) {
@ -569,11 +570,11 @@ int serial_irq_handler_asynch(serial_t *obj)
} }
} }
} }
return return_event; return return_event;
} }
/** /**
* Abort the ongoing TX transaction. It disables the enabled interupt for TX and * Abort the ongoing TX transaction. It disables the enabled interupt for TX and
* flush TX hardware buffer if TX FIFO is used * flush TX hardware buffer if TX FIFO is used
* *
@ -583,17 +584,17 @@ void serial_tx_abort_asynch(serial_t *obj)
{ {
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
__HAL_UART_DISABLE_IT(huart, UART_IT_TC); __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
__HAL_UART_DISABLE_IT(huart, UART_IT_TXE); __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
// clear flags // clear flags
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
// reset states // reset states
huart->TxXferCount = 0; huart->TxXferCount = 0;
// update handle state // update handle state
if(huart->gState == HAL_UART_STATE_BUSY_TX_RX) { if (huart->gState == HAL_UART_STATE_BUSY_TX_RX) {
huart->gState = HAL_UART_STATE_BUSY_RX; huart->gState = HAL_UART_STATE_BUSY_RX;
} else { } else {
huart->gState = HAL_UART_STATE_READY; huart->gState = HAL_UART_STATE_READY;
@ -610,20 +611,20 @@ void serial_rx_abort_asynch(serial_t *obj)
{ {
struct serial_s *obj_s = SERIAL_S(obj); struct serial_s *obj_s = SERIAL_S(obj);
UART_HandleTypeDef *huart = &uart_handlers[obj_s->index]; UART_HandleTypeDef *huart = &uart_handlers[obj_s->index];
// disable interrupts // disable interrupts
__HAL_UART_DISABLE_IT(huart, UART_IT_RXNE); __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
__HAL_UART_DISABLE_IT(huart, UART_IT_PE); __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
__HAL_UART_DISABLE_IT(huart, UART_IT_ERR); __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
// clear flags // clear flags
__HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF | UART_CLEAR_FEF | UART_CLEAR_OREF); __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF | UART_CLEAR_FEF | UART_CLEAR_OREF);
volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR; // Clear RXNE flag volatile uint32_t tmpval __attribute__((unused)) = huart->Instance->RDR; // Clear RXNE flag
// reset states // reset states
huart->RxXferCount = 0; huart->RxXferCount = 0;
// update handle state // update handle state
if(huart->RxState == HAL_UART_STATE_BUSY_TX_RX) { if (huart->RxState == HAL_UART_STATE_BUSY_TX_RX) {
huart->RxState = HAL_UART_STATE_BUSY_TX; huart->RxState = HAL_UART_STATE_BUSY_TX;
} else { } else {
huart->RxState = HAL_UART_STATE_READY; huart->RxState = HAL_UART_STATE_READY;
@ -653,9 +654,9 @@ void serial_set_flow_control(serial_t *obj, FlowControl type, PinName rxflow, Pi
obj_s->uart = (UARTName)pinmap_merge(uart_cts, uart_rts); obj_s->uart = (UARTName)pinmap_merge(uart_cts, uart_rts);
MBED_ASSERT(obj_s->uart != (UARTName)NC); MBED_ASSERT(obj_s->uart != (UARTName)NC);
if(type == FlowControlNone) { if (type == FlowControlNone) {
// Disable hardware flow control // Disable hardware flow control
obj_s->hw_flow_ctl = UART_HWCONTROL_NONE; obj_s->hw_flow_ctl = UART_HWCONTROL_NONE;
} }
if (type == FlowControlRTS) { if (type == FlowControlRTS) {
// Enable RTS // Enable RTS
@ -685,7 +686,7 @@ void serial_set_flow_control(serial_t *obj, FlowControl type, PinName rxflow, Pi
// Enable the pin for RTS function // Enable the pin for RTS function
pinmap_pinout(rxflow, PinMap_UART_RTS); pinmap_pinout(rxflow, PinMap_UART_RTS);
} }
init_uart(obj); init_uart(obj);
} }

View File

@ -39,9 +39,9 @@
#include "PeripheralPins.h" #include "PeripheralPins.h"
#if DEVICE_SPI_ASYNCH #if DEVICE_SPI_ASYNCH
#define SPI_S(obj) (( struct spi_s *)(&(obj->spi))) #define SPI_S(obj) (( struct spi_s *)(&(obj->spi)))
#else #else
#define SPI_S(obj) (( struct spi_s *)(obj)) #define SPI_S(obj) (( struct spi_s *)(obj))
#endif #endif
@ -49,24 +49,25 @@
* Only the frequency is managed in the family specific part * Only the frequency is managed in the family specific part
* the rest of SPI management is common to all STM32 families * the rest of SPI management is common to all STM32 families
*/ */
int spi_get_clock_freq(spi_t *obj) { int spi_get_clock_freq(spi_t *obj)
{
struct spi_s *spiobj = SPI_S(obj); struct spi_s *spiobj = SPI_S(obj);
int spi_hz = 0; int spi_hz = 0;
/* Get source clock depending on SPI instance */ /* Get source clock depending on SPI instance */
switch ((int)spiobj->spi) { switch ((int)spiobj->spi) {
case SPI_1: case SPI_1:
/* SPI_1. Source CLK is PCKL2 */ /* SPI_1. Source CLK is PCKL2 */
spi_hz = HAL_RCC_GetPCLK2Freq(); spi_hz = HAL_RCC_GetPCLK2Freq();
break; break;
#if defined(SPI2_BASE) #if defined(SPI2_BASE)
case SPI_2: case SPI_2:
/* SPI_2. Source CLK is PCKL1 */ /* SPI_2. Source CLK is PCKL1 */
spi_hz = HAL_RCC_GetPCLK1Freq(); spi_hz = HAL_RCC_GetPCLK1Freq();
break; break;
#endif #endif
default: default:
error("CLK: SPI instance not set"); error("CLK: SPI instance not set");
break; break;
} }
return spi_hz; return spi_hz;