📄 a2000.c
字号:
//======================================================================================
//
// The information contained herein is the exclusive property of
// Sunplus Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
//
// (C) COPYRIGHT 2001 SUNPLUS TECHNOLOGY CO.
// ALL RIGHTS RESERVED
//
// The entire notice above must be reproduced on all authorized copies.
//
//========================================================================================
// 工程名称: A2000.spj
// 功能描述: A2000以非自动方式播放
//
// 文件来源: 《SPCE061单片机原理及应用技术》第七章 凌阳音频压缩算法,第273页
// IDE环境: SUNPLUS u'nSPTM IDE 1.8.0(or later)
//
// 涉及的库: CMacro.lib/sacmv25.lib
//
// 组成文件: A2000.c
// ISR.asm/hardware.asm
// hardware.inc/hardware.h
//
// 日期: 2002-6-12
//===========================================================================================
#define DAC1 1
#define DAC2 2
#define Full 1
#define Empty 2
#define Mode 1
#include "A2000.h"
main()
{
extern long RES_WW_24K_SA,RES_WW_24K_EA; //定义语音资源的首末地址标号
long int Addr; //定义地址变量
int Ret = 0; //定义获取语音数据变量并初始化
Addr=RES_WW_24K_SA; //送入语音队列的首址
SACM_A2000_Initial(0); //非自动方式播放的初始化
SACM_A2000_InitDecoder(DAC1); //开始对A2000的语音数据以非自动方式解码
while(1)
{
if(SACM_A2000_TestQueue()!=Full)
{
Ret =SP_GetResource(Addr);
SACM_A2000_FillQueue(Ret);
Addr++;
}
if(Addr< RES_WW_24K_EA ) //如果该段语音未播完,即未到达末地址时
SACM_A2000_Decoder(); //获取资源并进行解码,再通过中断服务子程序送入DAC通道播放
else
SACM_A2000_Stop(); //否则,停止播放
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -