Witajcie
Realizuję komunikację pomiędzy mikroprocesorem STM32F411RE (NUCLEO) a modułem SIM800L. Wykorzystuję do tego interfejs UART.
Inicjalizuję go poprzez bibliotekę HAL'a. Samą wymianę danych postanowiłem zrobić ręcznie, odwołując się bezpośrednio do rejestrów UART.
Poniżej funkcja inicjalizacyjna:
void uart_init(uint32_t baud)
{
uart_gpio.Pin = GPIO_PIN_9 | GPIO_PIN_10; //TX RX
uart_gpio.Mode = GPIO_MODE_AF_PP;
uart_gpio.Alternate = GPIO_AF7_USART1;
uart_gpio.Speed = GPIO_SPEED_HIGH;
uart_gpio.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA,&uart_gpio);
usart.Instanc