STM32/STM8技术论坛
直播中

黄威华

5年用户 3经验值
擅长:控制/MCU
私信 关注
[问答]

stm32F407接vs1003b模块,正弦测试没问题,传mp3数据却发不出声音

正弦测试没问题,可传MP3数据时就没声音了。我发现在传数据时,DREQ的引脚一直为高,感觉数据是传送过去了,可是没有处理播放,求大神指导!!
以下是我的初始化函数:

  1. void vs1003_init()
  2. {
  3.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
  4.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
  5.         
  6.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;         //DREQ引脚
  7.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  8.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  9.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  10.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  11.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  12.                
  13.         
  14.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_0|GPIO_Pin_10;    //XCK、XDCK、Rst
  15.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  16.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  17.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  18.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  19.         GPIO_Init(GPIOB, &GPIO_InitStructure);
  20.         
  21.         //保证从机现在不工作
  22.         PBout(12)=1;
  23.         PBout(0)=1;
  24.         

  25. }

  26. void spi2_init(void)
  27. {
  28.         /* 使能SPI2的硬件时钟 */
  29.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
  30.         
  31.         /*使能GPIO对应的时钟 */
  32.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
  33.         
  34.         
  35.         /*配置SPI引脚*/  
  36.         GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI1);
  37.         GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_SPI1);
  38.         GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI1);
  39.         
  40.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  41.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  42.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  43.         GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_DOWN;
  44.                
  45.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
  46.         GPIO_Init(GPIOB, &GPIO_InitStructure);


  47.         
  48.         
  49.          /* SPI的硬件配置 */
  50.         SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;        
  51.         SPI_InitStructure.SPI_Mode = SPI_Mode_Master;                                               
  52.         SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;                                       
  53.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;                                                               SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;                                                SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;                                                      
  54.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;        
  55.         SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;                           SPI_Init(SPI2, &SPI_InitStructure);
  56.         /*使能SPI2工作  */
  57.         SPI_Cmd(SPI2, ENABLE);
  58. }


回帖(2)

李猛

2019-4-2 10:51:52
是不是幅度太小了 有前级放大吗
举报

赵晨阳

2019-11-26 21:30:02
你好,请问解决了吗,我也遇到了同样的问题

举报

更多回帖

发帖
×
20
完善资料,
赚取积分