📄 speech.c
字号:
//=============================================================
// 文件名称: Speech.c
// 实现功能: 语音功能子程序
// 完成日期: 2004,7,22
//==============================================================
#include "SPCE061V004.h"
#include "s480.h"
#define SPEECH_1 0
#define DAC1 1
#define DAC2 2
#define Ramp_UpDn_Off 0
#define Ramp_UpDn_On 3
#define Manual 0
#define Auto 1
#define Full 1
#define Empty 2
extern unsigned int F_Binary_BCD(unsigned int Binary);
//=============================================================
// 函数名称: Speech_Resource()
// 功能描述: 播放一段语音
// 同时还要存贮测量值(存放在Flash)中
// 语法格式: void Speech_Resource(unsigned int iSpeechIndex)
// 入口参数: iSpeechIndex---语音资源索引号
// 出口参数: 无
// 注意事项: 仅为用户模型
//=============================================================
void Speech_Resource(unsigned int iSpeechIndex)
{
SACM_S480_Initial(Auto); //自动方式播放初始化
SACM_S480_Play(iSpeechIndex,DAC1+DAC2,Ramp_UpDn_On); //定义语音索引号、播放通道、允许音量增/减调节
while(SACM_S480_Status()&0x01)
{
SACM_S480_ServiceLoop(); //获取语音数据并将其填入解码队列
}
SACM_S480_Stop();
*P_INT_Ctrl = 0x0008;
__asm("FIQ OFF");
__asm("IRQ ON");
}
//=============================================================
// 函数名称: Speech_Result()
// 功能描述: 对测量得到的数据进行语报:X点XX米
// 同时还要存贮测量值(存放在Flash)中
// 语法格式: void Speech_Result(unsigned int uiResult)
// 入口参数: uiResult---要用语音报的结果
// 出口参数: 无
// 注意事项: 仅为用户模型
//=============================================================
void Speech_Result(unsigned int uiResult)
{
unsigned int uiResult_BCD;
unsigned int uiTemp;
uiResult_BCD = F_Binary_BCD(uiResult);
uiTemp = (uiResult_BCD>>8)&0x000f;
Speech_Resource(uiTemp);
Speech_Resource(10); //语音"点"
uiTemp = (uiResult_BCD>>4)&0x000f;
Speech_Resource(uiTemp);
uiTemp = uiResult_BCD&0x000f;
Speech_Resource(uiTemp);
Speech_Resource(11); //语音"米"
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -