⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playvoice.c

📁 本文介绍了利用两套SPCE061A精简开发板(简称61板)和两套传感器模组设计的遥控环境测量系统方案:其中利用一套61板作为主控制器
💻 C
字号:
//====================================================================================
//文 件 名: PlayVoice.c
//功能描述: 语音播放函数
//维护记录: 2006年6月27         by hongyan.Feng
//====================================================================================
#include "SPCE061A.h"
#include "s480.h"
//====================================================================================
//语法格式: void PlaySnd(unsigned int SndIndex) 
//功能描述: 指定段的语音播放函数
//入口参数: SndIndex:播放的语音索引号,索引顺序在Resource.asm中定义
//出口参数: 无
//维护记录: 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();					//没有播放完成,填充语音队列
		*P_Watchdog_Clear = 0x0001;					//清看门狗
	}
	SACM_S480_Stop();								//语音播放停止
}
//====================================================================================
//语法格式: void PlaySnd(unsigned int SndIndex) 
//功能描述: 指定三位数据的语音播放函数
//入口参数: iData:任意三位数据
//出口参数: 无
//维护记录: 2006年6月27         by hongyan.Feng
//====================================================================================
void PlayData(unsigned int iData)
{
	unsigned bai,shi;					//分别存放百和十的语音索引号
	unsigned int Bw,Sw,Gw;				//分别存放百位\十位和个位数据
	bai = 11;							//初始化百和十的语音索引号 
	shi = 10;                       
	Bw = iData/100;						//计算百位
	Sw = (iData%100)/10;				//计算十位 
	Gw = iData%10;						//计算个位
	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;
}
		
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -