You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Pico与HC05蓝牙通信问题:AT指令无正常响应

问题分析与解决方案

你的核心问题是HC05模块未正确响应AT指令,仅回显发送的指令内容,主要原因集中在接线错误、指令格式缺失和代码逻辑优化这几点,以下是具体排查和修复步骤:

1. 优先检查接线(最常见错误)

UART通信的TX和RX必须交叉连接:

  • Pico的TX引脚(GP0) 应连接HC05的RX引脚
  • Pico的RX引脚(GP1) 应连接HC05的TX引脚
    你当前的接线是发送端连发送端、接收端连接收端,完全无法建立双向通信,这是导致无响应的首要原因。

2. 修正AT指令格式

HC05要求AT指令必须以换行符结尾(通常是\r\n),否则不会识别为完整指令。你的代码仅发送了指令文本(如AT),缺少结尾符,模块不会处理请求。

3. 调整代码逻辑

针对以上问题,修改后的代码如下:

from machine import UART, Pin 
from time import sleep
import uos

# 正确交叉接线:Pico TX(GP0) → HC05 RX;Pico RX(GP1) → HC05 TX
uart = UART(0, baudrate=38400, tx=Pin(0), rx=Pin(1))

print("Pico HC05 AT Tool")
print(uos.uname())
print("Type 'quit' to exit")

while True:
    command = input("PicoTerm>")
    if command == 'quit':
        print("-"*50)
        print('Bye.')
        break
    # 给指令添加换行符,符合HC05的AT指令要求
    uart.write(f"{command}\r\n")
    # 延长等待时间,确保模块有足够时间响应
    sleep(0.5)
    # 读取所有可用响应字节
    response = uart.read()
    if response:
        try:
            print(f"Response: {response.decode('utf-8').strip()}")
        except:
            print(f"Raw response: {response}")
    else:
        print("No response from HC05")

4. 波特率排查

如果修改后仍无响应,尝试更换波特率:

  • HC05 AT模式默认波特率通常为38400,但部分模块可能是9600、19200或115200
  • 逐一测试这些波特率,确认模块实际使用的AT波特率

5. 硬件额外检查

  • 确保HC05的VCC接5V(Pico的VBUS引脚),GND接Pico的GND,电压不足会导致模块工作异常
  • 确认HC05确实处于AT模式:指示灯每2秒闪烁一次,若闪烁频率不对,需重新进入AT模式(按住模块上的按键再上电)

内容的提问来源于stack exchange,提问作者kak_taki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:10:17