asrpro 天问BLOCK 总结

本文介绍了ASRPRO芯片的规格、使用VSCODE进行字符模式编程的方法,重点讲解了下载程序时可能遇到的问题及解决策略,包括FreeRTOS底层框架、不同下载器的连接指导和常见错误排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASRPRO芯片信息

论坛 - 好好搭搭在线

主频240MHz 640KByte SRAM 2-4M FLASH (https://haohaodada.com/jpeguploadfile/twen/ASRPRO/asr_pro_core.pdf)

下载

(注意最好用好点的USB转TTL或是网方的下载器,否则会怀疑人生); USB口换

下载程序步骤

安装VSCODE

在字符模式下,使用VSCODE打开,才可以包含源文件.C 头文件

ASRPRO结构目录

添加源文件和头文件时,注意地址 目录(X:\天问Block\asrpro\asr_pro_sdk\U8G2)

编辑时可以通过project_file\build目录下查看编辑通过的文件

vscode 下编译过程 

添加多进程时,注意设置进程的缓存大小(太小容易产生错误,异常(异常时加大分配空间大小)

TaskCreate(   函数,线程名, 分配空间大小,传递的参数,优先级, ) 

ASRPRO底层框架是基于FreeRTOS实现的。所谓RTOS,指的是Real Time Operating System

https://haohaodada.com/jpeguploadfile/twen/ASRPRO/asr_pro.pdf 60页)

ASRPRO无法下载程序;
解决方案:

(1)提示是否连接设备ASRPRO:①注意分清ASR-ONE和ASRPRO;②Lu-asr01和Lu-ASR Pro已自带CH340,只需USB直接连接电脑;③如果是使用了STC-LINK,Lu-asr01或 Lu-ASR Pro开发板,把连接的外设全部拔掉,重新下载试试!④其他下载器(USB转串口TTL、CH340、cq210x等),最好是等提示连接ASR时,才把4条线一起插到ASR上!如果失败,交换TX RX,再重新操作一次!
(2)一直卡在编译提示:尝试关闭杀毒软件,要重新下载试试!
(3)错误提示:5;拔掉下载器重插后,重新下载!
(4)错误提示:31;可能是USB线太长,导致数据不稳定,去除USB延长线重新下载试试!
(5)其他提示:请尝试重装串口驱动和重启电脑,或者用其他电脑测试!
(6)未使用天问STC-LINK下载器,请确保自己的下载器性能达到1.5兆波特率,并按照手册确保接线正确可靠,在下载连接过程中自行正确把握断电冷启动时机

一键换语音功能

ASRPRO一键换语音 - 天问开发者 - 好好搭搭论坛 - 好好搭搭在线

ASRPRO源码中如何添加自定义文件 - 天问开发者 - 好好搭搭论坛 - 好好搭搭在线

替换语音PYTHON

import os
import glob
import subprocess

#[ [ ] 左括号 [ ] ]右括号
f = glob.glob(r"D:\天问Block\asrpro\voice\mp3\[[]?????[]]*.*")
print(f)

##for i in f:
##    #print(i.split("\\")[-1])
##    n = i.split("\\")[-1]
##    if(n.find("[10001]") != -1):
##        print(n)
##        
##
##        os.chdir(r"D:\天问Block\asrpro\asr_pro_sdk")
##        cmd = r"tools\lame --silent --cbr -b16 -t --resample 16000 " +\
##        r"D:\天问Block\asrpro\wav\[10001]欢迎使用.wav " +\
##        r"D:\天问Block\asrpro\voice\mp3\\" + n
##
##        print(cmd)
##        args = cmd.split()
##        p = subprocess.Popen(args,stdout = subprocess.PIPE,stderr = subprocess.PIPE)
##        out ,err = p.communicate()
##        print(str(out).replace("\\r\\n","\r\n"))
##
##input("ab")
##         





#os.replace(r"D:\天问Block\asrpro\wav\*.mp3",r"D:\天问Block\asrpro\voice\mp3\*.mp3",True)


 

参考资料

官网提供的教程

入门手册 https://haohaodada.com/jpeguploadfile/twen/ASRPRO/asr_pro_m.pdf

ASRPRO学习资源汇总 - 天问开发者 - 好好搭搭论坛 - 好好搭搭在线

立创提供的ASRPRO 电路板信息

asrpro - 搜索 - 嘉立创EDA

asrpro - 搜索 - 嘉立创EDA

ASRPRO-CORE MODE 资源 - 嘉立创EDA

### ESP32与天问ASRPRO语音芯片集成开发 #### 硬件配置说明 ESP32C3 和 ASRPRO 组成了一个高效的硬件解决方案。其中,ESP32C3 主要承担网络管理和继电器控制的任务;而 ASRPRO 则专注于处理语音识别工作,并通过串口与 ESP32 进行通讯[^1]。 #### 软件环境搭建 对于 ESP32C3 的编程采用了 MicroPython 编程语言,这不仅简化了许多硬件层面的操作细节,还大大提高了项目的开发效率。MicroPython 基于 ESP-IDF 架构构建,其底层操作系统为 FreeRTOS。至于 ASRPRO,则利用了天问 Block 图形化工具来进行编程,该工具本质上是对 C 代码进行了图形化的封装,使得即使是初学者也能轻松上手。 #### 数据交互流程 当设备启动后,ESP32C3 可以监听来自 ASRPRO 发送过来的数据包。这些数据通常包含了经过处理后的语音指令信息。一旦接收到有效的命令字符串,ESP32C3 就会解析并执行相应的动作,比如触发某个 GPIO 引脚来打开/关闭继电器等外设组件。 ```python import machine from time import sleep # 初始化 UART 接口用于接收来自 ASRPRO 的消息 uart = machine.UART(1, baudrate=9600) def read_asrpro_command(): """读取并返回从 ASRPRO 收到的一条完整命令""" buffer = bytearray() while True: if uart.any() > 0: byte_read = uart.read(1)[0] # 当遇到换行符时认为是一条完整的命令结束 if byte_read == ord('\n'): break buffer.append(byte_read) sleep(0.01) return bytes(buffer).decode('utf8').strip() while True: command = read_asrpro_command() if "open" in command.lower(): relay_pin.value(True) # 打开继电器 elif "close" in command.lower(): relay_pin.value(False) # 关闭继电器 print(f'Command received: {command}') ``` 这段 Python 代码展示了如何设置 UART 接收器以及基本逻辑判断语句,用来响应不同的语音指令(如“open”表示开启,“close”则代表关闭),并通过操作指定的 GPIO 引脚完成实际的动作控制。 #### 提升性能建议 考虑到 ASRPRO 内置有强大的神经网络加速单元,能够高效地运行多种类型的深度学习算法,因此可以在不影响整体功耗的情况下进一步优化系统的反应时间和准确性。此外,由于 ASRPRO 支持多通道音频输入特性,这意味着即使是在嘈杂环境中也可以获得清晰的声音信号,从而提升了整个系统的鲁棒性和用户体验质量[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值