最近研究语音模块,卖家给的源码是RCT6的库函数版本的,由于用了SPI3,RBT6没有SPI3所以一行一行改为RBT6的寄存器版本的,可是这里的GPIO配置却不会了,从没有接触过库函数,不知道这里怎么修改,我想问的是 代码里说的输出8M波形,寄存器版本的要用PWM吗,看库函数貌似没有用到PWM,还有一种办法是计时然后翻转,这两种方法不知道对不对,
[mw_shl_code=c,true]/* **********************************************************
* 名 称:LD3320_GPIO_Cfg(void)
* 功 能:初始化需要用到的IO口
* 入口参数:
* 出口参数:
* 说 明:
* 调用方法:
********************************************************* */
void LD3320_GPIO_Cfg(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// 配置PA8 输出 8M 波形
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
/* MCO configure */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, & GPIO_InitStructure);
RCC_MCOConfig( RCC_MCO_HSE); // 8M
}
// io口配置
{
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB , ENABLE);
// LD_CS /RSET
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_7 | GPIO_Pin_6;// ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, & GPIO_InitStructure);
// //LD_RD
// GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
// GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_7); /* A0默认拉高 */
// GPIO_SetBits(GPIOA,GPIO_Pin_0); /*RD默认拉高*/
}
}[/mw_shl_code]
还有库函数中配置SPI时候配置了片选信号,寄存器该怎么配置呢,看中文参考手册上IO口的复用也没有这个这个啊
求大神解释 |