stm32语音识别与播报智能控制led灯
接在再附上主程序:
#include "stm32f10x.h"
#include "bsp_i2c.h"
#include "bsp_usart1.h"
#include "led.h"
/*
语音识别模块 语音合成播报模块
IIC1 IIC2
VCC->单片机5V VCC->单片机5V
SCL->单片机PB6 SCL->单片机PB10
SDA->单片机PB7 SDA->单片机PB11
GND->单片机GND GND->单片机GND
*/
int main(void)
{
u8 result = 0xff;
LED_Init(); //初始化与LED连接的硬件接口
//I2C初始化
I2C_Bus_Init();
NVIC_Configuration();
USARTx_Config();
#if 1
I2C_ByteWrite(ASR_CLEAR_ADDR,0x40);//清除掉电保存区,录入前需要清除掉电保存区
LD3320_delay(150000);//flash擦除时间较长,需要较长的延时
I2C_ByteWrite(ASR_MODE_ADDR,0x01);//设置检测模式;
AsrAddWords(0,"xiao ya");
AsrAddWords(4,"kai deng");
AsrAddWords(5,"guan deng");
#endif
I2C_ByteWrite(ASR_REC_GAIN,0x45); //识别的灵敏
RGB_Set(255,255,255);
LD3320_delay(10000);//flash擦除时间较长,需要较长的延时
RGB_Set(0,0,0);
SetVolume(10);
SetReader(Reader_XiaoYan);
while(1)
{
I2C_BufferRead(ASR_RESULT,&result,1);
printf("result = %d\n",result);
if(result==0)
{
speech_text("[x1]sound204",GB2312);
while(GetChipStatus() != ChipStatus_Idle)
{
delay(50);
}
}
if(result==4)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_1); //给PA1置0
speech_text("灯已经打开",GB2312);
while(GetChipStatus() != ChipStatus_Idle)
{
delay(50);
}
}
if(result==5)
{
GPIO_SetBits(GPIOA,GPIO_Pin_1); //给PA1置1
speech_text("灯已经关闭",GB2312);
while(GetChipStatus() != ChipStatus_Idle)
{
delay(50);
}
}
LD3320_delay(10000);
}
}
/*********************************************END OF FILE**********************/
如果想要更加详细的资料,可以在文章末尾处查看。
下面附上相关程序以及资料:
stm32语音识别与播报智能控制led灯相关程序及资料
个人认为上面的资料是非常详细的!!!
代码要的下方留言邮箱我会第一时间发给你们的,有什么问题也可以下面评论!
版权声明:本文为CSDN博主「i土豆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44069765/article/details/113835168
暂无评论