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的输入模式?如果都没有问题,该怎么解决?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>