lun_shan 2023-03-27 11:08 采纳率: 42.9%
浏览 45
已结题

烧录进语音文件,喇叭没有播报声音

img

img

GPIO_InitTypeDef GPIO_InitStructure; // 定义GPIO初始化结构体
void Delay(__IO uint32_t nCount) // 定义延时函数
{
    for(; nCount != 0; nCount--);
}
void PlaysoundNum(u8 SoundNum) // 定义播放指定地址单元语音的函数
{
    u8 i;
   GPIO_ResetBits(GPIOC, WT_CLK); // 将WT_CS引脚置低,选中WT588D语音模块
    Delay(10); // 延时10ms
    for(i = 0; i < 8; i++)
    {
        GPIO_ResetBits(GPIOC, WT_CLK); // 将WT_CLK引脚置低
        if(SoundNum & 0x01)
            GPIO_SetBits(GPIOC, WT_DAT); // 如果SoundNum的最低位为1,则将WT_DAT引脚置高
        else
            GPIO_ResetBits(GPIOC, WT_DAT); // 如果SoundNum的最低位为0,则将WT_DAT引脚置低
        SoundNum >>= 1; // 将SoundNum向右移动1位,准备处理下一位
        Delay(100); // 延时100us
        GPIO_SetBits(GPIOC, WT_CLK); // 将WT_CLK引脚置高
        Delay(100); // 延时100us
    }
    GPIO_SetBits(GPIOC, WT_CS); // 将WT_CS引脚置高,结束通讯,触发WT588D语音模块播放指定地址单元的语音文件
}
int main(void) // 主函数
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 使能GPIOA时钟
    GPIO_InitStructure.GPIO_Pin = WT_CS | WT_CLK | WT_DAT; // 定义WT_CS、WT_CLK、WT_DAT引脚为推挽输出模式
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure); // 初始化GPIOA的引脚
    while(1) // 不断循环
    {
        // 播放第一个地址单元的语音文件
        PlaysoundNum(1);
        Delay(1500); // 播放2秒钟
        
        // 播放第二个地址单元的语音文件
        PlaysoundNum(2);
        Delay(2500); // 播放3秒钟
                
        
        
    }
}


  • 写回答

2条回答 默认 最新

  • 丘比特惩罚陆 2023-03-27 14:12
    关注

    你的程序用到一个WT588D语音模块,根据代码中的描述,看起来可能是通过模块的数据线来控制模块播放指定地址单元的语音文件。根据代码,GPIOC的三个引脚WT_CS、WT_CLK、WT_DAT被用于连接到WT588D语音模块。具体来说,WT_CS引脚被用于选中模块,WT_CLK引脚被用于提供时钟信号,WT_DAT引脚被用于传输数据。

    然而,代码中并没有显示出喇叭如何被连接到STM32F103C8T6开发板,因此很难确定问题的根本原因。在确保连接正确的情况下,可以通过以下方法来排除问题:

    1、检查喇叭是否工作正常。尝试用其他设备(如手机或MP3播放器)连接喇叭,确保它们能够播放声音。

    2、检查连接线是否正确连接。确保连接线插入正确的插座,并且引脚与引脚对应。

    3、检查代码是否正确。确保代码没有错误,并且正确地控制了WT588D语音模块。

    4、检查开发板的电源。确保电源电压稳定,没有波动。

    5、调整代码中的延迟时间。根据喇叭的性能和音频文件的大小,需要调整延迟时间来确保语音文件被完整地播放。

    6、问老师......

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 3月27日

悬赏问题

  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答