📄 main.c
字号:
//======================================================================
// 工程名称: S720_SPR4096.spj
// 功能描述: S720语音播放范例--外扩SPR4096存储器
// 语音资源可在本例的Sound文件夹下找到(Sound.con整合文件),应
// 通过ResWriter软件配合SPR模组将语音资源烧录到SPR4096芯片中
// 本例子程序实现连续播放存储在SPR4096中的三段语音
// IDE环境: SUNPLUS u'nSPTM IDE 2.0.0(or later)
// 涉及的库: CMacro1016.lib
// SACM_D10.lib
// 组成文件: main.c, SACM_S720_User_C.c
// SACM_S720.asm, 4096.asm
// SPCE061A.h, S720.h, 4096.h
// SPCE061A.inc, S720.inc
// 硬件连接: IOB0 - SPR4096_SCK
// IOB1 - SPR4096_SDA
// 维护记录: 2006-10-16 v1.0, by Qwerty
//======================================================================
#include "SPCE061A.h"
#include "S720.h"
#include "4096.h"
//========================================================================
// 语音播放函数,参数SndIdx为待播放的语音序号,起始序号为0
//========================================================================
void PlaySnd(unsigned int SndIdx)
{
SACM_S720_Initial(); // S720初始化
SACM_S720_Play(SndIdx, DAC_1+DAC_2, RAMP_UP_DN); // 播放第SndIdx段语音,由DAC1和DAC2输出
while(SACM_S720_Status()&STATUS_PLAY) // 检测播放是否完成
{
*P_Watchdog_Clear = 0x01; // 清看门狗
SACM_S720_ServiceLoop(); // 执行语音解码
}
}
//========================================================================
// 主函数
//========================================================================
int main()
{
SP_SIOInitial(); // 初始化SPR4096驱动
while(1)
{
PlaySnd(0); // 播放第一段语音
PlaySnd(1); // 播放第二段语音
PlaySnd(2); // 播放第三段语音
}
}
//========================================================================
// 中断服务程序
//========================================================================
void FIQ(void)__attribute__((ISR));
void FIQ()
{
*P_INT_Clear = C_FIQ_TMA; // 清中断请求标志
SACM_S720_ISR(); // 调用中断服务子程序
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -