jq8900-16p与stm32f103c8t6测试

news2024/11/25 14:54:07

jq8900-16p与stm32f103c8t6测试

引言

本文从购买器件, 到连线步骤, 再到驱动的模块原理讲解, 后面根据不同的语音, 进行文字转语音步骤,全在资料导航里面. 本模块后面着重讲解, jq8900快速移植

本文资料导航

模块购买步骤

跳转

连线步骤
跳转

https://blog.csdn.net/qq_57484399/article/details/141167625

文字转语音步骤
跳转

https://blog.csdn.net/qq_57484399/article/details/141169337

jq8900-16p手册以及原理讲解视频

跳转

https://www.bilibili.com/video/BV1TJ4m1a77d?p=2&vd_source=43722e2dacd70cd4e9d470dc5424bf59

本文调整好的最小例程:

https://wwyz.lanzoul.com/iHJhs27d9a2j

jq8900-16p快速移植

1.首先我们进行最小例程构建

创建stm32f103c8t6基本工程

https://blog.csdn.net/qq_57484399/article/details/141003048

2.加入 jq8900-16p的文件

<1> 创建完最小工程

image-20240813203159076

<2>加入jq8900代码

新建文件夹 jq8900

文件名

JQ8900.c
JQ8900.h

jq8900-16p代码索引:

jq8900-16p代码索引-CSDN博客

https://blog.csdn.net/qq_57484399/article/details/141173273

具体加入方式, 请看最小例程构建第九步开始:

加入jq8900项目, 第九步开始(博客)

如果看不懂, 请看视频:

JQ8900快速移植_哔哩哔哩_bilibili

3.加入延时函数文件

<3> 同时, 我们看到JQ8900.c文件里面, 有delay.h文件, 这是我们的延时文件, 也要记得加入, 我们直接加入到User里面就可以(代码也在快速索引里面)

加入jq8900项目, 第九步开始(博客)

image-20240813213937586

<4> 我们去main.c函数里面调用初始化器件, 然后试着发送一条语音

image-20240813214534104
#include "stm32f10x.h"
#include "JQ8900.h"
#include "delay.h"

int main()
{
	Init_One_line_Uart();
	Delay_Init();
	
	SendData(0x0a);
	SendData(0x01);
	SendData(0x0b);	
	
	while(1)
	{
		
	}
	
}	

<5> 我们编译运行, 会发现出错, 是因为我们delay.c里面包含了滴答定时器, 用到中断了, 我们需要包含进来

image-20240813214706928

4.编译器配置

<6> 我们使用的是version5编译器, 所以需要点击锤子-> Target ->

Code Generation ARM Compiler ,选择 version 5

image-20240813214848604

<7> 如果仍然编译出错error, 那就是工程没有清理干净,

清理keil5工程 工作空间-CSDN博客

解压此安装包,到源目录, 然后双击,清理工程, 再次编译

image-20240813215009201

5.烧录设置

<8>stlink烧录配置, 我们点击锤子->Debug-> use:选择ST-LINK debugger

image-20240813215146095

<9>然后接着点击Setting -> Flash Download, 配置相关内容

image-20240813215301401

<10>烧录器连线相关内容

最小例程插线方法_哔哩哔哩_bilibili

image-20240813220842992

6.连线以及文字转语音配置

快速导航(ctrl 加鼠标左键,快速跳转)

<11>烧录完, 连线

①连jq8900驱动(注意电可以使用stlink上的5v, 也可以使用最小板的3v)

②文字转语音

③烧录语音到jq8900

<12>现象演示

jq8900最小例程演示视频_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2035854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue的事件处理、事件修饰符、键盘事件

目录 1. 事件处理基本使用2. 事件修饰符3. 键盘事件 1. 事件处理基本使用 使用v-on:xxx或xxx绑定事件&#xff0c;其中xxx是事件名&#xff0c;比如clickmethods中配置的函数&#xff0c;都是被Vue所管理的函数&#xff0c;this的指向是vm或组件实例对象 <!DOCTYPE html&g…

探秘未来驾驶,汽车智能座舱软件测试的艺术与科学

什么是智能座舱软件测试 智能座舱软件测试是一种专门针对现代汽车中集成的先进驾驶辅助系统(ADAS)、信息娱乐系统、人机交互界面(HMI)以及其他智能座舱组件的软件质量保证过程。随着汽车行业的数字化和智能化转型&#xff0c;无人驾驶的出现&#xff0c;智能座舱已成为汽车用户…

Keepalived+Haproxy实现高可用

keepalived利用 VRRP Script 技术&#xff0c;可以调用外部的辅助脚本进行资源监控&#xff0c;并根据监控的结果实现优先 动态调整&#xff0c;从而实现其它应用的高可用性功能。 一、VRRP Script 配置 1、定义脚本 vrrp_script&#xff1a;自定义资源监控脚本&#xff0c;…

【光流估计】【深度学习】Windows11下FastFlowNet代码Pytorch官方实现与源码讲解

【光流估计】【深度学习】Windows11下FastFlowNet代码Pytorch官方实现与源码讲解 提示:最近开始在【光流估计】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【光流估计】【深度学习】Windows11下FastFlowNet代码Pytorch官方实现与源码讲解前言…

VUE系列之极速入门与实践教程

系列博客专栏&#xff1a; JVM系列博客专栏SpringBoot系列博客 实验环境 npm v10.8.1 node v20.16.0 vue.js v3.4.37 VSCODE 1.88.1 什么是Vue.js Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。Vue.js 是一套构建用户界面的框架&…

聚合平台项目优化(门面模式,适配器模式,注册器模式)

前言&#xff1a; 这篇文章的思路就是抛出问题&#xff0c;再思考解决方案&#xff0c;最后利用设计模式解决问题 项目背景&#xff1a; 聚合搜索平台的主要功能就是一个有强大搜索能力的一个项目 用户输入一个词&#xff0c;同时可以搜索出用户&#xff0c;文章和图片这种…

【AI学习】具身智能的技术发展、商业路径等有趣观点

阅读了两篇有关具身智能的文章&#xff0c;有好多话语&#xff0c;挺有趣&#xff0c;做一些摘录。 一篇是&#xff1a;腾讯研究院的《具身智能的10个真问题&#xff5c;3万字圆桌实录》&#xff08;链接&#xff1a;https://mp.weixin.qq.com/s/peIi0YOJGKFV3fpLURDyyQ&#x…

一天搞定Vue3——包含Axios、ElementUI Plus、Vuex的使用!!!

前言,本篇文章是依据bilibili博主(波波酱老师)的学习笔记,波波酱老师讲的很好,很适合速成!!! 本篇文章会与vue2进行对比学习,并且也有很多的JavaScript知识点&#xff0c;要提前掌握他们才能学的效果更佳,见效更快。&#x1f973; 文章目录 Vue基础Vue的底层原理el挂载点data数…

Linux中网卡收发包的流程

进来在一个RTOS上移植开发网卡驱动&#xff0c;最终DMA收发包流程打通之后&#xff0c;在使用过程中觉得RTOS的处理逻辑太差了&#xff0c;因此有想法来梳理下Linux中对收发包流程处理&#xff0c;来给一些参考。 一、Linux接收网络包的流程 网卡是一个计算机的硬件&#xff0…

浅谈线性表——顺序表

文章目录 一、List接口二、线性表2.1、什么是线性表&#xff1f; 三、顺序表ArrayList什么是顺序表&#xff1f; 一、List接口 从上图看到List接口继承自Collection接口&#xff0c;而 ArrayList、LinkedList、Stack 类都实现了List接口&#xff0c;List是个接口&#xff0c;不…

论文新体验!分享8款人工智能AI软件论文网站

最近看到这个AI工具推广做的比较多&#xff0c;号称长文写的比kimi还要好&#xff01;难道大学生的救星下凡了&#xff1f;&#xff1f; 本文将分享8款优秀的AI软件论文网站&#xff0c;并重点推荐千笔-AIPassPaPer&#xff0c;这是一款备受用户好评的AI原创论文写作平台。 1…

C++ | 掌握C++异常处理:从基础到自定义异常体系的全面指南

09--异常 1、C语言传统的错误处理方式&#xff1a; 包括终止程序和返回错误码两种方式。 直接使用assert终止程序过于粗暴&#xff1a;用户无意的小错误也会造成程序结束运行。 return返回错误码&#xff0c;再通过错误码查找错误类型&#xff1a;过程繁琐&#xff0c;对用…

可视化基础的设计四大原则

一个好的数据可视化设计可以帮助观众迅速理解数据背后的意义。然而&#xff0c;如何确保我们的可视化设计既美观又简单易懂呢&#xff1f;本文将介绍四大设计原则——亲密原则、对比原则、对齐原则和重复原则。 1、 亲密原则&#xff08;Proximity&#xff09; 定义与应用&am…

学习大数据DAY34 面向对象思想深化练习 将从豆瓣爬取的数据置入自己搭建的网站上

目录 查看电影类型的电影列表 添加电影 修改电影 上机练习 13 使用三层架构完善 web 系统 查看电影类型的电影列表 DAL.py 文件 class MovieDAL(DBHelper): def getMovieByTid(self,typeid): sqlf"""select id,title,release_date,score,tname from Mo…

YOLOv8 | 融合改进 | C2f融合可变核卷积AKConv【附代码+小白可上手】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

【JavaEE】深入理解Spring IoC与DI:从传统开发到依赖注入的转变

目录 IoC & DI ⼊⻔什么是Spring什么是容器什么是IoCIoC介绍传统程序开发问题分析解决方案IoC程序开发IoC优势 IoC & DI ⼊⻔ IoC&#xff1a;Inversion of Control (控制反转) DI&#xff1a;Dependency Injection 在前⾯我们学习了Spring Boot和Spring MVC的开发, 可…

DNS相关内容

一、dns的两种解析方式 1. 正向解析 将域名解析为 ip 地址 2. 逆向解析 将 ip 地址解析为域名 设置解析方式&#xff0c;都是在 zone 文件中 named.conf 解决权限 named.rfc1912.zone 解决解析方式 3.DNS 方向解析 把 192.168.71.145 这个 ip 地址逆向解析为 www.yuany…

Android逆向题解攻防世界-easyjava-难度6

纯Java实现&#xff0c;不涉及so, flag加密之后与指定字符串 “wigwrkaugala"比较判断&#xff0c;循环一个个字符加的&#xff0c;那可以一个个字符对应还原。 加密算法就在a,b类里面&#xff0c;代码直接复制到idea &#xff0c;枚举暴力破解。 每一位输入范围a-z , 找…

Lua脚本 快速掌握

1.Lua脚本概述 Lua是一种轻量级的编程语言&#xff0c;由巴西里约热内卢天主教大学开发。设计初衷是为了嵌入应用程序中&#xff0c;提供灵活的配置和脚本能力。Lua具有简洁的语法和强大的扩展性&#xff0c;使得它在多个领域得到了广泛应用。 Lua的特点包括动态类型、自动内…

The Sandbox 游戏制作教程第 4 章|使用装备制作游戏,触发独特互动

欢迎回到我们的系列&#xff0c;我们将记录 The Sandbox Game Maker 的 “On-Equip”&#xff08;装备&#xff09;功能的多种用途。 如果你刚加入 The Sandbox&#xff0c;On-Equip 功能是 “可收集组件”&#xff08;Collectable Component&#xff09;中的一个多功能工具&a…