標(biāo)題:
syn6288語音識(shí)別模塊PCB電路圖以及語音播報(bào)源碼分享
[打印本頁(yè)]
作者:
gaotianyu
時(shí)間:
2020-5-28 15:27
標(biāo)題:
syn6288語音識(shí)別模塊PCB電路圖以及語音播報(bào)源碼分享
之前電子大賽涉及到針對(duì)syn6288模塊的設(shè)計(jì),分享一些學(xué)習(xí)資料給大家,都在壓縮文件里面,大家可以自行下載~有什么問題的話回復(fù)就好
作者:
gaotianyu
時(shí)間:
2020-5-28 15:28
PCB框圖在這里哦
SYN6288模塊 PCB框圖.rar
2020-5-28 15:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
16.44 KB, 下載次數(shù): 68, 下載積分: 黑幣 -5
作者:
gaotianyu
時(shí)間:
2020-5-28 15:30
/*
STM32F103VCT6與SYN6288硬件接口非常簡(jiǎn)單,采用串口通訊方式,
PA9(USART/TX)-->SYN6288_RX(芯片RX引腳需要外接個(gè)電平轉(zhuǎn)換,我畫的測(cè)試板上已經(jīng)有轉(zhuǎn)換電路了)
PA10(USART/RX)<--SYN6288_TX
PE2(PIN1),<---> SYN6288_BUSY (可不接)
調(diào)用示例:
TTSPlay('m',"歡迎光臨xxxx休閑娛樂中心");
*/
函數(shù)代碼:
/***********************************************
聲音播放代碼,實(shí)現(xiàn)自動(dòng)計(jì)算校驗(yàn)值
第一參數(shù):提示音樂音類型,具體參考官方示例程序
第二參數(shù):播放的文本內(nèi)容
(SoundVol是個(gè)音量值的全局變量)
************************************************/
void TTSPlay(u8 sound,char *Text)
{
va_list arg_ptr;
u8 i=0,xorcrc=0,uLen;
u8 SoundBuf[110]; //操作語音提示緩沖
char tmpBuf[120]; //
uLen = (u8)vsprintf(tmpBuf, Text, arg_ptr);
for (i=0;i<100;i++) SoundBuf=0x00;
SoundBuf[0]=0xFD;
SoundBuf[1]=0x00;
SoundBuf[2]=uLen+15;
SoundBuf[3]=0x01;
SoundBuf[4]=0x01;
SoundBuf[5]='[';
SoundBuf[6]='v';
SoundBuf[7]=ASCIICODE[SoundVol/10];
SoundBuf[8]=ASCIICODE[SoundVol%10];
SoundBuf[9]=']';
SoundBuf[10]=0x73;
SoundBuf[11]=0x6F;
SoundBuf[12]=0x75;
SoundBuf[13]=0x6E;
SoundBuf[14]=0x64;
SoundBuf[15]=sound; //有效值a-v,函數(shù)的第一個(gè)參數(shù),聲音提示之前的音樂聲
SoundBuf[16]=0x2C;
for (i=0;i<uLen;i++)
{
SoundBuf[17+i]=tmpBuf;
}
for (i=0;i<uLen+17;i++)
{
xorcrc=xorcrc ^ SoundBuf;
USART_Send_Byte(SoundBuf);
}
USART_Send_Byte(xorcrc);
}
/***************************
串口配置函數(shù)
***************************/
void USART_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
USART_ClearFlag(USART1, USART_FLAG_TC);
}
/***************************************************************************
參數(shù)說明:mydata待發(fā)送的數(shù)據(jù)
返回說明:無
***************************************************************************/
void USART_Send_Byte(u8 mydata)
{
USART_ClearFlag(USART1,USART_FLAG_TC);
USART_SendData(USART1, mydata);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
USART_ClearFlag(USART1,USART_FLAG_TC);
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1