带HM10固件的JDY-08不会更改任何参数

时间:2018-10-12 18:05:47

标签: stm32 uart at-command keil hm-10

我有一个定制电路,其中STM32F030F4P6作为主控制器,HDY-08闪烁着HM-10固件作为蓝牙LE发射器。

我想对电路通电进行的操作是使用自定义参数(名称,波特率,模式)手动设置模块,然后进入主要的计算部分。

但是,我注意到的是,尽管模块以OK + ...字符串响应,但该模块在收到任何AT命令后都不会起作用。

例如,我发送“ AT + NAMEmyname”并收到“ OK + Set:myname”,但是,该名称完全不变,并且在手机的蓝牙扫描中仍为HMSoft。 在9600的波特率下,我发送“ AT + BAUD4”并收到“ OK + Set:4”,然后我发送“ AT + BAUD?”。仍然使用9600波特,并收到以下消息:“ OK + BAUD4”-该模块仍在9600上工作,但是说它在115200上。尝试在不同的时间间隔内上下拉动reset和sys_key,这导致什么都没有,但是不能使用AT命令。

目前,我的模块在启动时将RESET引脚上拉,并将SYS_KEY上拉1200毫秒,然后将其下拉,然后在发送/接收会话之间继续发送250毫秒延迟的AT命令: >

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);

1 个答案:

答案 0 :(得分:0)

问题已解决: 我不知道为什么,但是在这里到处多次拖动相同的代码后,我得到了可行的解决方案: RESET脚1 SYSTEM_KEY引脚1 压水堆1

  1. SYSTEM_KEY引脚0
  2. 延迟1200毫秒
  3. SYSTEM_KEY引脚1
  4. AT + BAUD4-> OK +设置:4
  5. 延迟250毫秒
  6. 重新初始化STM上的UART,波特率为115200
  7. AT + BAUD? ->确定+获取:4
  8. 它可以正常工作,数据按需流动。

谢谢我回答<3