mirror of https://github.com/ARMmbed/mbed-os.git
TARGET_STM32L0 astyle
parent
e9d7128485
commit
baf97d78aa
|
@ -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}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue