📄 sacm_ms01_user_c.c
字号:
//========================================================
// 文件名称: SACM_MS01_User_C.c
// 功能描述: MS01用户函数(C语言版),用于保存或获取语音资源数据
// 包括:
// void USER_MS01_GetResource_Init(unsigned int SoundIndex);
// void USER_MS01_GetResource(unsigned int *p_Buf, unsigned int Words);
// 这些函数被语音库自动调用,可根据需要自行修改这些函数的内容
// 维护记录: 2006-10-16 v1.0, by Qwerty
//========================================================
#include "4096.h"
//======================================================
// 外部函数和变量声明
//======================================================
//========================================================================
// 全局变量定义
//========================================================================
unsigned long ResAddr;
//========================================================================
// 语法格式: void USER_MS01_GetResource_Init(unsigned int SoundIndex);
// 实现功能: (被MS01函数库自动调用)获取语音资源数据,初始化操作
// 参数: SoundIndex: 语音资源序号
// 返回值: 无
//========================================================================
void USER_MS01_GetResource_Init(unsigned int SoundIndex)
{
unsigned long TempAddr, TempData;
TempAddr = 0x00012L + SoundIndex * 12; // 获得资源索引的存储地址
TempData = SP_SIOReadAByte(TempAddr); // 获得资源起始地址的bit[31:24]
TempData <<= 8;
TempData |= SP_SIOReadAByte(TempAddr + 1); // 获得资源起始地址的bit[23:16]
TempData <<= 8;
TempData |= SP_SIOReadAByte(TempAddr + 2); // 获得资源起始地址的bit[15:8]
TempData <<= 8;
TempData |= SP_SIOReadAByte(TempAddr + 3); // 获得资源起始地址的bit[7:0]
ResAddr = TempData;
}
//========================================================================
// 语法格式: void USER_MS01_GetResource(unsigned int *p_Buf, unsigned int Words);
// 实现功能: (被MS01函数库自动调用)获取语音资源数据,并填充到解码队列中
// 参数: p_Buf: 待填充解码队列的起始地址(该参数由函数库自动产生)
// Words: 待填充数据的数量,单位为Word(该参数由函数库自动产生)
// 返回值: 无
//========================================================================
void USER_MS01_GetResource(unsigned int *p_Buf, unsigned int Words)
{
while(Words>0)
{
*p_Buf = SP_SIOReadAWord(ResAddr);
p_Buf++;
ResAddr += 2;
Words--;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -