📄 main.c
字号:
//========================================================
// The information contained herein is the exclusive property of
// Sunnnorth Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
// ALL RIGHTS RESERVED
// The entire notice above must be reproduced on all authorized copies.
//========================================================
//========================================================
// 工程名称: ex1_A2000_Auto
// 功能描述: 《实验指导书》语音部分第一个实验
// 通过自动、手动两种方式播放两段语音资源
// 涉及的库: CMacro1016.lib
// sacmv26e.lib
// 组成文件: main.c
// hardware.asm,isr.asm
// hardware.inc,a2000.inc
// a2000.h,hardware.h
// 硬件连接: DAC音频跳线短接
// 维护记录: 2005-09-12 v1.0
//
//========================================================
//========================================================
// 文件名称: main.c
// 功能描述: 通过自动方式播放两段语音资源
// 维护记录: 2005-09-12 v1.0
//========================================================
#include "a2000.h"
#define P_Watchdog_Clear (volatile unsigned int *)0x7012
void PlaySnd_Auto(unsigned int uiSndIndex,unsigned int uiDAC_Channel);
//========================================================
// 语法格式: int main(void)
// 实现功能: 调用语音播放函数,通过自动方式播放两段语音资源
// 参数: 无
// 返回值: 无
//========================================================
int main(void)
{
while(1)
{
PlaySnd_Auto(0,1); //调用播放程序,播放第0段语音,采用DAC1播放
PlaySnd_Auto(1,1); //调用播放程序,播放第1段语音,采用DAC1播放
//播放序号的列表在Resource.asm文件的最后的表中定义
*P_Watchdog_Clear = 0x0001;
}
}
//========================================================
// 语法格式: void PlaySnd_Auto(unsigned int uiSndIndex,unsigned int uiDAC_Channel)
// 实现功能: 通过自动方式播放语音资源
// 参数: 1.uiSndIndex:语音资源序号 2.uiDAC_Channel:语音播放通道
// 返回值: 无
//========================================================
void PlaySnd_Auto(unsigned int uiSndIndex,unsigned int uiDAC_Channel)
{
SACM_A2000_Initial(1); //初始化语音播放,自动方式
SACM_A2000_Play(uiSndIndex,uiDAC_Channel,3); //播放语音
while((SACM_A2000_Status() & 0x0001) != 0) //判断当前是否在播放?返回最低位为1则表示当前在播放
{
SACM_A2000_ServiceLoop(); //服务程序
*P_Watchdog_Clear = 0x0001;
}
SACM_A2000_Stop(); //停止
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -