Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

stm32 + sim800l

Ср сен 05, 2018 14:48:12

Пытаюсь связать GSM модуль sim800l и stm32f4 - discovery по UART. Написал программу, которая отправляет команду "AT". Ответ на неё ловлю c модуля логическим анализатором. Вывод Tx c STM подключил к RX sim800l. Вывод Tx c sim800l подключил к логическому анализатору. Сначала модуль пишет - sms ready и call ready, когда посылаю команду "AT", то он просто возвращает команду обратно (на модуле спаек нет). По напряжениям, вроде, все нормально. На Входе у модуля 4В. Светодиод редко моргает, значит связь есть. Не могу найти ошибку. Почему модуль не отвечает?

Код:
#include <stdint.h>
#include <stm32f4xx_hal.h>
#include <main.h>
#include <stdbool.h>

UART_HandleTypeDef UART;

uint8_t txbuf[80] = "AT";

void init_UART(void) {
   __HAL_RCC_UART4_CLK_ENABLE();
   UART.Instance = UART4;
   UART.Init.BaudRate = 9600;
   UART.Init.WordLength = UART_WORDLENGTH_8B;
   UART.Init.StopBits = UART_STOPBITS_1;
   UART.Init.Parity = UART_PARITY_NONE;
   UART.Init.Mode = UART_MODE_TX_RX;
   UART.Init.HwFlowCtl = UART_HWCONTROL_NONE;
   UART.Init.OverSampling = UART_OVERSAMPLING_16;
   HAL_UART_Init(&UART);
   HAL_NVIC_SetPriority(UART4_IRQn, 15, 0);
   HAL_NVIC_EnableIRQ(UART4_IRQn);
}

void mymain(void) {
   init_UART();
   while (1) {
      HAL_UART_Transmit(&UART, txbuf, 2, 1000);
      HAL_Delay(2000);
   }
}

//********************************************************
// настройка портов вв-выв находится в другом .с файле
// ниже отрывок. Настройка UART Rx Tx.

  GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  GPIO_InitStruct.Alternate = GPIO_AF8_UART4;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
Вложения
gsm_otvet.png
(4.39 KiB) Скачиваний: 466
sms_ready.png
(7.72 KiB) Скачиваний: 663

Re: stm32 + sim800l

Ср сен 05, 2018 15:35:15

Команда должна заканчиваться символом CR (\r). Стр 2 SIM800 Series_AT Command Manual_V1.09.
Ответить