У меня есть пользовательская схема с STM32F030F4P6 в качестве основного контроллера, а HDY-08 мигает с прошивкой HM-10 в качестве передатчика Bluetooth LE.
Что я хотел сделать при включении цепи, так это вручную установитьмодуль с пользовательскими параметрами (name, baud, mode), а затем переходите к основной вычислительной части.
Однако я заметил, что модуль не будет работать после получения любой из AT-команд, хотя и отвечаетс OK + ... строки.
Например, я отправляю «AT + NAMEmyname» и получаю «OK + Set: myname», однако имя не меняется вообще и остается HMSoft при сканировании Bluetooth намой телефон.На скорости 9600 бод я посылаю «AT + BAUD4» и получаю «OK + Set: 4», затем я посылаю «AT + BAUD?»ОСТАЕТСЯ на скорости 9600 бод и получите то же самое: «OK + BAUD4» - модуль продолжает работать на 9600, однако говорит, что это на 115200. Пробовал играть с вытягиванием reset и sys_key вверх и вниз для разных временных интервалов, что приводит кничего, кроме неработающих AT-команд.
В настоящее время у меня установлен модуль с выводом RESET и SYS_KEY при запуске на 1200 миллисекунд при запуске, затем он сбрасывается, а затем я продолжаю отправлять AT-команды с задержками 250миллисекунды между сеансами передачи / приема:
HAL_GPIO_WritePin(SYSTEM_KEY_GPIO_Port, SYSTEM_KEY_Pin, 1);
HAL_Delay(1200);
HAL_GPIO_WritePin(SYSTEM_KEY_GPIO_Port, SYSTEM_KEY_Pin, 0);
HAL_UART_Transmit(&huart1, (uint8_t*)setup, 8, 100);
HAL_UART_Receive(&huart1, (uint8_t*)response, 8, 100);
HAL_Delay(250);
HAL_UART_Transmit(&huart1, (uint8_t*)reset, 8, 100);
HAL_UART_Receive(&huart1, (uint8_t*)response2, 8, 100);
HAL_Delay(250);
HAL_UART_Transmit(&huart1, (uint8_t*)check, 8, 100);
HAL_UART_Receive(&huart1, (uint8_t*)response3, 8, 100);