我想使用 HC-05 通过蓝牙将 STM32F4 与 ELM327 连接起来。我有一些具体的问题。每次我尝试使用“AT+LINK”时,HC-05 都会响应“FAIL”。
硬件:
- STM32F411V + HC-05
- iCar2 Vgate elm327 BT v3.0
我已经完成了:
- 我已经使用商业应用程序、终端等测试了 ELM327 - 它已连接并且运行良好。
- 我已经测试过 HC-05 - 配置好,与 BT 终端配合得很好
- 尝试使用 AT 命令的不同配置来获得 Elm327 和 HC 之间的自动连接 - 每次“失败”。
这是我使用的代码的一部分:
HAL_UART_Receive_IT(&huart2, BufforMsg, 1);
HAL_Delay(10000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+ORGL\r\n", strlen("AT+ORGL\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+NAME=MASTER\r\n", strlen("AT+NAME=MASTER\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+UART=9600,1,0\r\n", strlen("AT+UART=9600,1,0\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+RESET\r\n", strlen("AT+RESET\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+ROLE=1\r\n", strlen("AT+ROLE=1\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+PSWD=1234\r\n", strlen("AT+PSWD=1234\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+INIT\r\n", strlen("AT+INIT\r\n"), 100); //HC-05:OK
HAL_Delay(10000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+RMAAD\r\n", strlen("AT+RMAAD\r\n"), 100); //HC-05:OK
HAL_Delay(1000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+PAIR=86DC,B0,ABF7F1,20\r\n", strlen("AT+PAIR=86DC,B0,ABF7F1,20\r\n"), 100); //HC-05:OK
HAL_Delay(21000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+BIND=86DC,B0,ABF7F1\r\n", strlen("AT+BIND=86DC,B0,ABF7F1\r\n"), 100); //HC-05:OK
HAL_Delay(3000);
HAL_UART_Transmit(&huart2, (uint8_t *)"AT+LINK=86DC,B0,ABF7F1\r\n", strlen("AT+LINK=86DC,B0,ABF7F1\r\n"), 100); //HC-05:FAIL + INQ: Mac Address
HAL_Delay(3000);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, 0 );
我也尝试过这些命令的不同配置,但始终相同-> FAIL。顺便提一句。我知道我设置了 buadrate 9600,但在 AT 命令模式下没关系。HC 上的灯以非常快的速度闪烁 1 秒,然后缓慢闪烁(以及在连接模式下)2 秒,然后再次非常快地闪烁,然后又缓慢地反复闪烁。我猜 HC 一直在尝试连接到 Elm。mac 地址是正确的 - 我使用的 MacAdress 扫描仪很少,而且地址到处都相似。ELM327 每次连接时都需要密码(即使设备与我的智能手机配对)。我可能阅读了 StakOVF 和其他网站上的所有主题。我发现的解决方案不起作用。有谁知道,怎么了?