VS1003的DREQ为什么始终低电平?

2019-07-21 00:20发布

VS1003B硬复位过程中DREQ端一直为低导致陷入死循坏,芯片也换了,晶振并联的1M电阻也接了,SPI确认通信正常,搞了两三天没找出原因。程序参考原子哥的VS1053程序,头文件中控制端定义:
[mw_shl_code=c,true]#define VS_DQ       PAin(8)  //DREQ
#define VS_RST      PBout(10) //RST
#define VS_XCS      PBout(12)  //XCS
#define VS_XDCS     PBout(11)  //XDCS [/mw_shl_code]

VS1003初始化:
[mw_shl_code=c,true] GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB , ENABLE);       
         
  /* Configure PA10 -- PA12 as Output push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_SetBits(GPIOB,GPIO_Pin_11);
  GPIO_SetBits(GPIOB,GPIO_Pin_12);
       
  /* Configure PA8 as GPIO_Mode_IPU */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
       
  SPI1_Config();
  SPI1_SetSpeed(SPI_BaudRatePrescaler_2);//设置为18M时钟,高速模式[/mw_shl_code]



主控芯片STM32F103C8T6,是否支持GPIO_Mode_IPU的输入模式?如果都没有问题,该怎么解决?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。