fpiSTM wrote: ↑Sat Jan 30, 2021 7:54 pmSee the wiki
I have enabled uarts by HAL_UART_MODULE_ENABLED macro and use Serial.begin(115200) to use uart1, but I haven't anything on uart1_tx
for test I have commented usart1 pins in variant.h and periphaeralpins.h files, but arduino IDE doesn't get error and compile successfully!
part of variant.h:
Code: Select all
// Default pin used for 'Serial' instance (ex: ST-Link)
// Mandatory for Firmata
//#define PIN_SERIAL_RX PA10
//#define PIN_SERIAL_TX PA9
part of peripheralpins.h:
Code: Select all
#ifdef HAL_UART_MODULE_ENABLED
WEAK const PinMap PinMap_UART_TX[] = {
{PA_0, USART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART4)},
{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
{PA_5, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART3)},
// {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
{PA_14, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
{PB_2, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART3)},
// {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART3)},
{NC, NP, 0}
};
#endif
#ifdef HAL_UART_MODULE_ENABLED
WEAK const PinMap PinMap_UART_RX[] = {
{PA_1, USART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART4)},
{PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
// {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
{PA_15, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
{PB_0, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART3)},
// {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
{PB_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART3)},
{NC, NP, 0}
};
#endif
I have checked that
is defined.
Code: Select all
#include "HardwareSerial.h"
void setup()
{
Serial1.begin(115200);
pinMode(LED_RED,OUTPUT);
pinMode(LED_GREEN,OUTPUT);
}
void loop()
{
Serial1.println("Reading");
#if defined(HAVE_HWSERIAL1)
digitalWrite(LED_RED,1);
#else
digitalWrite(LED_GREEN,0);
#endif
delay(500);
#if defined(HAVE_HWSERIAL1)
digitalWrite(LED_RED,0);
#else
digitalWrite(LED_GREEN,1);
#endif
delay(500);
}
I did all steps based on wiki.