DY-SY17F语音模块串口连接以及播放问题

🍀此帖记录学习过程,见证你我一同成长🚀

语音模块接喇叭如上图所示

按照官方教程,使用串口模式连接模块,连接喇叭,USB-TTl和CON1-3连接加上10k电阻。

问题现象:官方给的调试工具能够连接串口,发送数据却接收不到数据,选择播放曲目喇叭没有反应。

尝试:去掉串口连接的电阻后,喇叭有时能够有语音播放,但仍然不能解决问题。中途接上5V电源(开始只接了3.3v电源,猜测电源不够),问题依然存在但好像好一点了。最后干脆把CON链接的电阻去掉(打算换1k电阻,但10k电阻都是找别人借的,唉~),发现语音模块瞬间清醒了!!

但发现曲目播放顺序不对,研究之后发现在STM32里面让它播放曲目1,实际播放曲目4,曲目2对应5......顺便附上语音模块USART模式串口函数。(详细数据参考官方资料,可以找卖家)

void USART_MUSIC(u8 num)	   
{	
	u8 i;
	u8 Music_Cmd_Appoint[] = {0xAA,0x07,0x02,0x00,0x00,0x00};
	Music_Cmd_Appoint[4] = num;			//写入播放曲目
	Music_Cmd_Appoint[5] = 0;
	for(i=0; i<5; i++)		//SM 把前面 数组0~4 总共5个数加起来
	{
		Music_Cmd_Appoint[5] += Music_Cmd_Appoint[i];
	}	
	for(i=0; i<6; i++)		//把修改后的曲目发送出去(每次发送一个数据,分6次发送完)
	{
		USART_SendData(USART3,Music_Cmd_Appoint[i]);
		delay_ms(10);
	}	
}

总之最后顺利使用该模块,虽然折腾了一下午,唉官方教程有时候害人不浅啊

### DY-SV17F 语音模块STM32 的硬件连接 DY-SV17F 语音模块通常采用串口方式进行通讯,因此与 STM32连接主要涉及 UART 接口的对接。以下是具体的接线方法: | DY-SV17F Pin | 功能 | 对应 STM32 Pin | |--|----------------|-----------------------| | VCC | 电源正极 | 3.3V 或者 5V (取决于模块需求) | | GND | 地 | GND | | RXD | 接收数据 | TX | | TXD | 发送数据 | RX | 具体来说: - **VCC 和 GND**:用于供电,确保电压匹配。 - **RXD 和 TXD**:分别连接STM32 上对应的 UART 接口引脚。 #### 硬件连接注意事项 为了保证稳定的数据传输,在实际应用中建议加入一些额外措施: - 使用合适的电容滤波以减少噪声干扰。 - 如果距离较远或环境复杂,考虑增加信号隔离元件如光电耦合器。 ```c // 示例代码展示如何配置 STM32 的 USART 外设以便于同 DY-SV17F 进行通信 void USART_Config(void){ GPIO_InitTypeDef GPIO_InitStruct = {0}; USART_InitTypeDef USART_InitStruct = {0}; // 启用相关外设时钟 __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_USART2_CLK_ENABLE(); // 配置 PA2/PA3 作为 USART2 的 TX/RX 引脚 GPIO_InitStruct.Pin = GPIO_PIN_2 | GPIO_PIN_3; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化 USART2 参数设置 USART_InitStruct.BaudRate = 9600; USART_InitStruct.WordLength = UART_WORDLENGTH_8B; USART_InitStruct.StopBits = UART_STOPBITS_1; USART_InitStruct.Parity = UART_PARITY_NONE; USART_InitStruct.HardwareFlowControl = UART_HWCONTROL_NONE; USART_InitStruct.Mode = UART_MODE_TX_RX; HAL_UART_Init(&huart2); } ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新海诚学QT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值