⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 voice.html

📁 一个可作为mp3播放器固件的代码集,包括解码,播放,控制,任务管理等.
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML><HEAD> <META NAME="GENERATOR" CONTENT="langdoc 1.0.1"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE> voice </TITLE> </HEAD> <BODY> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="6"> <TR> <TD ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=BLUE> <H1> <FONT COLOR="#FFFFFF"> voice </FONT> </H1> </TD> </TR> </TABLE><P ALIGN=RIGHT> <I> Copyright (c) 2003</I> </P><H2> Library Usage </H2><H3> Package Description </H3><H3> Package Summary </H3><H4> Constants </H4><PRE></PRE><H4> Global Variables </H4><PRE></PRE><H4> Macros </H4><PRE></PRE><H4> Functions </H4><PRE><A HREF="#voc_dec_volume">voc_dec_volume</A> <A HREF="#voc_inc_volume">voc_inc_volume</A> <A HREF="#voc_play_init">voc_play_init</A> <A HREF="#voc_play_int">voc_play_int</A> <A HREF="#voc_play_start">voc_play_start</A> <A HREF="#voc_play_stop">voc_play_stop</A> <A HREF="#voc_rec_init">voc_rec_init</A> <A HREF="#voc_rec_int">voc_rec_int</A> <A HREF="#voice_task">voice_task</A> <A HREF="#voice_task_init">voice_task_init</A> </PRE><H3> Files List </H3><UL><LI><B><A NAME="voice_drv.c"></A> voice_drv.c</B><BR></LI><UL>This file contains the voice driver routines Timer 1 is used as conversion time base, its frequency is defined in config.h NOTES: Global Variables: - voice_buffer:    array of bytes in xdata space - gl_pointer:   byte in data space</UL><LI><B><A NAME="voice_drv.h"></A> voice_drv.h</B><BR></LI><UL>This file contains the voice driver definitions</UL><LI><B><A NAME="voice_task.c"></A> voice_task.c</B><BR></LI><UL>This file contains the voice task and attached routines NOTES: Global Variables: - gl_key_press:   bit in bdata space - gl_key:         byte in idata space - voice_buffer:      array of bytes in pdata space - gl_pointer:     byte in data space - gl_wav_header:  wave structure in code</UL><LI><B><A NAME="voice_task.h"></A> voice_task.h</B><BR></LI><UL>This file contains the voice task definition</UL></UL><H3> Included Files </H3><UL><LI><B>board.h"                          / *  board definition  * / </B><BR></LI><LI><B>board.h"                  / *  board definition  * / </B><BR></LI><LI><B>config.h"                         / *  system configuration  * / </B><BR></LI><LI><B>config.h"                 / *  system configuration  * / </B><BR></LI><LI><B>dac\dac_drv.h"            / *  dac driver definition  * / </B><BR></LI><LI><B>lib_mcu\adc\adc_drv.h"      / *  adc driver definition  * / </B><BR></LI><LI><B>lib_mcu\aud\aud_drv.h"      / *  audio driver definition  * / </B><BR></LI><LI><B>lib_mcu\clock\clock.h"            / *  clock definition  * / </B><BR></LI><LI><B>lib_mcu\clock\clock.h"    / *  clock definition  * / </B><BR></LI><LI><B>lib_mcu\timer\timer_drv.h"  / *  timer driver definition  * / </B><BR></LI><LI><B>modules\display\disp.h"           / *  display definition  * / </B><BR></LI><LI><B>modules\display\disp_task.h"      / *  display definition  * / </B><BR></LI><LI><B>modules\file\file.h"              / *  file definition  * / </B><BR></LI><LI><B>modules\file\wav.h"               / *  wav file definition  * / </B><BR></LI><LI><B>modules\mem\mem_task.h"           / *  memory task definition  * / </B><BR></LI><LI><B>modules\mode\mode_task.h"         / *  mode task definition  * / </B><BR></LI><LI><B>voice_drv.h"                      / *  voice definition  * / </B><BR></LI><LI><B>voice_drv.h"              / *  voice driver definition  * / </B><BR></LI><LI><B>voice_task.h"                     / *  voice task definition  * / </B><BR></LI></UL><H2> Constant Macros </H2><H2> Global Variables </H2><H2> Function Macros </H2><H2> Functions </H2><A NAME="voc_dec_volume"></A><H3> voc_dec_volume </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voc_dec_volume">voc_dec_volume</A>  ( void )  </PRE></TD></TABLE><P>Decrement playing volume<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="voc_inc_volume"></A><H3> voc_inc_volume </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voc_inc_volume">voc_inc_volume</A>  ( void )  </PRE></TD></TABLE><P>Increment playing volume<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="voc_play_init"></A><H3> voc_play_init </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voc_play_init">voc_play_init</A>  ( void )  </PRE></TD></TABLE><P>Audio interface initialization<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="voc_play_int"></A><H3> voc_play_int </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Interrupt  ( <A HREF="#voc_play_int">voc_play_int</A>  ( void )  ,  IRQ_AUD )  </PRE></TD></TABLE><P>Audio interrupt function<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><H4> Note </H4><P>IRQ_AUD defined in extsnd1.hThe underrun condition is not tested as it must not appear0x80 offset is added for unsigned to signed samples conversion<HR><A NAME="voc_play_start"></A><H3> voc_play_start </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voc_play_start">voc_play_start</A>  ( void )  </PRE></TD></TABLE><P>Fill audio buffer and start sample request<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><H4> Note </H4><P>0x80 offset is added for unsigned to signed samples conversion<HR><A NAME="voc_play_stop"></A><H3> voc_play_stop </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voc_play_stop">voc_play_stop</A>  ( void )  </PRE></TD></TABLE><P>Stop voice playing<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="voc_rec_init"></A><H3> voc_rec_init </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voc_rec_init">voc_rec_init</A>  ( void )  </PRE></TD></TABLE><P>Initialize the timer and ADC<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><H4> Note </H4><P>T1_PRIO defined in config.h<HR><A NAME="voc_rec_int"></A><H3> voc_rec_int </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Interrupt  ( <A HREF="#voc_rec_int">voc_rec_int</A> ( void )  ,  IRQ_T1 )  </PRE></TD></TABLE><P>Timer 1 interrupt function<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><H4> Note </H4><P>IRQ_T1 defined in extsnd1.hgl_pointer is modulo 256VOICE_CHANNEL is always selected by default, other conversion onBATTERY_CHANNEL may pause the Timer 1 and reselect VOICE_CHANNEL forproper voice conversion.<HR><A NAME="voice_task"></A><H3> voice_task </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voice_task">voice_task</A>  ( void )  </PRE></TD></TABLE><P>Voice playing / recording task<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><H4> Note </H4><P>STATES:VOICE_START      start taskVOICE_INSTALL     voice installationVOICE_IDLE        idle state of this taskVOICE_PLAY_INIT   initialisation of audio interfaceVOICE_PLAY        voice under playingVOICE_PLAY_PAUSE  voice playing haltedVOICE_NEW         previous or next song handlerVOICE_PLAY_STOP   stop playingVOICE_NO_MESSAGE  file system emptyVOICE_REC_INIT    initialisation of A to D converterVOICE_RECORD      voice under recordingVOICE_REC_PAUSE   voice recording haltedVOICE_REC_STOP    stop recordingVOICE_ERROR       error in playing or recording<HR><A NAME="voice_task_init"></A><H3> voice_task_init </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#voice_task_init">voice_task_init</A>  ( void )  </PRE></TD></TABLE><P>Voice task initialization<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -