我有一个定制电路,其中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);
答案 0 :(得分:0)
问题已解决: 我不知道为什么,但是在这里到处多次拖动相同的代码后,我得到了可行的解决方案: RESET脚1 SYSTEM_KEY引脚1 压水堆1
谢谢我回答<3