?? playvoice.c
字號:
//====================================================================================
//文 件 名: PlayVoice.c
//功能描述: 語音播放函數(shù)
//維護(hù)記錄: 2006年6月27 by hongyan.Feng
//====================================================================================
#include "SPCE061A.h"
#include "s480.h"
//====================================================================================
//語法格式: void PlaySnd(unsigned int SndIndex)
//功能描述: 指定段的語音播放函數(shù)
//入口參數(shù): SndIndex:播放的語音索引號,索引順序在Resource.asm中定義
//出口參數(shù): 無
//維護(hù)記錄: 2006年6月27 by hongyan.Feng
//====================================================================================
void PlaySnd(unsigned int SndIndex)
{
SACM_S480_Initial(1); //初始化為自動播放
SACM_S480_Play(SndIndex,1,3); //選擇播放的段為第SndIndex段,DAC1通道,聲音可淡入淡出
while((SACM_S480_Status()&0x0001)!=0) //判斷是否播放完成
{
SACM_S480_ServiceLoop(); //沒有播放完成,填充語音隊(duì)列
*P_Watchdog_Clear = 0x0001; //清看門狗
}
SACM_S480_Stop(); //語音播放停止
}
//====================================================================================
//語法格式: void PlaySnd(unsigned int SndIndex)
//功能描述: 指定三位數(shù)據(jù)的語音播放函數(shù)
//入口參數(shù): iData:任意三位數(shù)據(jù)
//出口參數(shù): 無
//維護(hù)記錄: 2006年6月27 by hongyan.Feng
//====================================================================================
void PlayData(unsigned int iData)
{
unsigned bai,shi; //分別存放百和十的語音索引號
unsigned int Bw,Sw,Gw; //分別存放百位\十位和個位數(shù)據(jù)
bai = 11; //初始化百和十的語音索引號
shi = 10;
Bw = iData/100; //計(jì)算百位
Sw = (iData%100)/10; //計(jì)算十位
Gw = iData%10; //計(jì)算個位
if(Bw!=0)
{
PlaySnd(Bw); //播放百位,百位為0時,不播放
PlaySnd(bai); //播放百
}
if(Sw!=0)
{
PlaySnd(Sw); //如果十位不為0,播放十位
PlaySnd(shi); //播放十
}
else
if((Bw!=0)) //如果百位不為0,十位為0,播放0
PlaySnd(Sw);
if(Gw!=0) //如果個位不為0,播放個位
PlaySnd(Gw);
else
if((Bw==0)&&(Sw==0)) //如果百位、十位、個位都為0,播放0
PlaySnd(Gw);
*P_Watchdog_Clear = 0x0001;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -