您好,欢迎访问三七文档
**----------------------------------------------------------------------------------------------------名称SpiLD3320.c功能:作者:日期:2014-07-28说明:*****************************************************************************************************/#includeconfig.h#includestm32f10x.h#includeZ_System.h#includeZ_Timer.h#includeEeprom.h#includestm32f10x_i2c.h#includeSpiLD3320.h#includestm32f10x_exti.h#includemisc.h#includestm32f10x_spi.h#includeIRControl.h/************************************************************************************//nAsrStatus用来在main主程序中表示程序运行的状态,不是LD3320芯片内部的状态寄存器//LD_ASR_NONE:表示没有在作ASR识别//LD_ASR_RUNING:表示LD3320正在作ASR识别中//LD_ASR_FOUNDOK:表示一次识别流程结束后,有一个识别结果//LD_ASR_FOUNDZERO:表示一次识别流程结束后,没有识别结果//LD_ASR_ERROR:表示一次识别流程中LD3320芯片内部出现不正确的状态*********************************************************************************/volatileuint8nAsrStatus=0;uint8nLD_Mode=LD_MODE_IDLE;//用来记录当前是在进行ASR识别还是在播放MP3uint8ucRegVal;volatileuint8LD3320TaskFlag=0;/****************************************************************************************************FunctionName:I2C_GPIO_Config*Description:*Input:None*Output:None*Return:None*Attention:None***************************************************************************************************/voidLD3320_GPIO_Cfg(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(LD3320RST_GPIO_CLK|LD3320CS_GPIO_CLK,ENABLE);//LD_CS/RSETGPIO_InitStructure.GPIO_Pin=LD3320CS_PIN;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(LD3320CS_GPIO_PORT,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=LD3320RST_PIN;GPIO_Init(LD3320RST_GPIO_PORT,&GPIO_InitStructure);}/******************************************************************************************************函数名:NVIC_Configuration*描述:配置嵌套向量中断控制器NVIC*输入:无*输出:无*调用:内部调用******************************************************************************************************///staticvoidNVICLD_Configuration(void)//{//NVIC_InitTypeDefNVIC_InitStructure;/////*Configureonebitforpreemptionpriority*///NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);/////*配置P[A|B|C|D|E]0为中断源*///NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//NVIC_Init(&NVIC_InitStructure);//}/*****************************************************************************************************名称:LD3320_EXTI_Cfg()*功能:初始化*入口参数:*出口参数:******************************************************************************************************/voidLD3320_EXTI_Cfg(void){//EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;//GPIO_InitTypeDefGPIO_InitStructure;//RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//RCC_APB2PeriphClockCmd(LD3320IRQ_GPIO_CLK,ENABLE);//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);//GPIO_InitStructure.GPIO_Pin=LD3320IRQ_PIN;//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//GPIO_Init(LD3320IRQ_GPIO_PORT,&GPIO_InitStructure);////外部中断线配置//GPIO_EXTILineConfig(LD3320IRQEXIT_PORTSOURCE,LD3320IRQPINSOURCE);//EXTI_InitStructure.EXTI_Line=LD3320IRQ_PIN;//EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//EXTI_InitStructure.EXTI_LineCmd=ENABLE;//EXTI_Init(&EXTI_InitStructure);//中断嵌套配置//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;//NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//NVIC_Init(&NVIC_InitStructure);//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);///*EXTIlinegpioconfig(PA1)*///GPIO_InitStructure.GPIO_Pin=LD3320IRQ_PIN;//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//上拉输入//GPIO_Init(GPIOB,&GPIO_InitStructure);///*EXTIline(PA1)modeconfig*///GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource8);//EXTI_InitStructure.EXTI_Line=LD3320IRQ_PIN;//EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿中断//EXTI_InitStructure.EXTI_LineCmd=ENABLE;//EXTI_Init(&EXTI_InitStructure);/////*configtheNVIC(PA1)*///NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/////*配置P[A|B|C|D|E]0为中断源*///NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;//NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//NVIC_Init(&NVIC_InitStructure);//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;//GPIO_InitStructure.GPIO_Pin=IRRXD;//定义红外接收脚为输入脚20140801PA1//GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;/*configtheextiline(PA1)clockandAFIOclock*///RCC_APB2PeriphClockCmd(RCC_A
本文标题:STM32语音控制
链接地址:https://www.777doc.com/doc-5654421 .html