📄 main.c
字号:
//======================================================================
// 工程名称: DVR1600_SPR4096.spj
// 功能描述: DVR1600语音录放范例--外扩SPR4096存储器
// 该例子程序在SPR4096中录制一段语音(约14秒)并播放
// IDE环境: SUNPLUS u'nSPTM IDE 2.0.0(or later)
// 涉及的库: CMacro1016.lib
// SACM_D10.lib
// 组成文件: main.c, SACM_DVR1600_User_C.c
// SACM_DVR1600.asm, 4096.asm
// SPCE061A.h, DVR1600.h, 4096.h
// SPCE061A.inc, DVR1600.inc, 4096.inc
// 维护记录: 2006-10-16 v1.0, by Qwerty
//======================================================================
#include "SPCE061A.h"
#include "DVR1600.h"
#include "4096.h"
//========================================================================
// 录音子程序
//========================================================================
void Record(void)
{
SACM_DVR1600_Initial(); // DVR1600初始化
SACM_DVR1600_Rec(0, BITRATE_16K); // 开始录音,选择16Kbps码率。第一个参数无意义。
while(SACM_DVR1600_Status()&STATUS_PLAY) // 检测录音是否完成(当录音数据充满Flash后录音完成)
{
*P_Watchdog_Clear = 0x01; // 清看门狗
SACM_DVR1600_ServiceLoop(); // 进行压缩编码
}
}
//========================================================================
// 放音子程序
//========================================================================
void PlayRecord(void)
{
SACM_DVR1600_Initial(); // DVR1600初始化
SACM_DVR1600_Play(0, DAC_1+DAC_2, RAMP_UP_DN); // 开始放音,由DAC1和DAC2输出。第一个参数无意义。
while(SACM_DVR1600_Status()&STATUS_PLAY) // 检测放音是否完成
{
*P_Watchdog_Clear = 0x01; // 清看门狗
SACM_DVR1600_ServiceLoop(); // 进行解码
}
}
//========================================================================
// 主函数
//========================================================================
int main()
{
SP_SIOInitial(); // 初始化SPR4096驱动
Record(); // 录音
PlayRecord(); // 放音
while(1) // 录放音结束后进入死循环
{
*P_Watchdog_Clear = 0x01;
}
}
//========================================================================
// 中断服务程序
//========================================================================
void FIQ(void)__attribute__((ISR));
void FIQ()
{
*P_INT_Clear = C_FIQ_TMA; // 清中断请求标志
SACM_DVR1600_ISR(); // 调用中断服务子程序
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -