亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vs10xx_8c-source.html

?? MP3播放器源代碼, VS1003B
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>VLSI Solution Oy Evaluation MP3 Player Source Code Documentation</title><link href="doxygen.css" rel="stylesheet" type="text/css"><img src="vlsi_small.gif" hspace="20" bordercolor="#ffffff"  alt="VLSI Solution Oy"><b>VLSI Solution Oy Evaluation MP3 Player Source Code Documentation</b><p></p></head><body><!-- Generated by Doxygen 1.3.7 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div><h1>vs10xx.c</h1><a href="vs10xx_8c.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 00007 <span class="preprocessor">#include "<a class="code" href="vs10xx_8h.html">vs10xx.h</a>"</span>00008 <span class="preprocessor">#include "<a class="code" href="lcd_8h.html">lcd.h</a>"</span>00009 <span class="preprocessor">#include "<a class="code" href="filesys_8h.html">filesys.h</a>"</span>00010 <span class="preprocessor">#include "<a class="code" href="storage_8h.html">storage.h</a>"</span>00011 <span class="preprocessor">#include "<a class="code" href="ui_8h.html">ui.h</a>"</span>00012 00013 00014 00015 <a name="l00017"></a><a class="code" href="vs10xx_8h.html#a38">00017</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="vs10xx_8h.html#a38">Mp3ReadRegister</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> addressbyte){00018   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> resultvalue = 0;00019 00020   <a class="code" href="board_8h.html#a4">Mp3SelectControl</a>();00021   <a class="code" href="board_8h.html#a45">SPIPutCharWithoutWaiting</a>(<a class="code" href="vs10xx_8h.html#a1">VS_READ_COMMAND</a>);00022   <a class="code" href="board_8h.html#a44">SPIPutChar</a>((addressbyte));00023   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0xff);00024   <a class="code" href="board_8h.html#a43">SPIWait</a>();00025   resultvalue = (<a class="code" href="board_8h.html#a46">SPI_RESULT_BYTE</a>) &lt;&lt; 8;00026   <a class="code" href="board_8h.html#a45">SPIPutCharWithoutWaiting</a>(0xff);00027   <a class="code" href="board_8h.html#a43">SPIWait</a>();00028   resultvalue |= (<a class="code" href="board_8h.html#a46">SPI_RESULT_BYTE</a>);00029   <a class="code" href="board_8h.html#a5">Mp3DeselectControl</a>();00030   <span class="keywordflow">return</span> resultvalue;00031 }00032   00033 <a name="l00035"></a><a class="code" href="vs10xx_8h.html#a37">00035</a> <span class="keywordtype">void</span> <a class="code" href="vs10xx_8c.html#a2">Mp3SoftReset</a>(){00036 00037   <span class="comment">/* Soft Reset of VS10xx */</span>00038   <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a> (<a class="code" href="vs10xx_8h.html#a2">SPI_MODE</a>, 0x08, 0x04); <span class="comment">/* Newmode, Reset, No L1-2 */</span>00039 00040   <a class="code" href="board_8h.html#a51">Delay</a>(1); <span class="comment">/* One millisecond delay */</span>00041   <span class="keywordflow">while</span> (!<a class="code" href="board_8h.html#a9">MP3_DREQ</a>) <span class="comment">/* wait for startup */</span>00042     ;00043   00044   <span class="comment">/* Set clock register, doubler etc. */</span>00045 <span class="preprocessor">#ifdef VS1003</span>00046 <span class="preprocessor"></span>  <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a>(<a class="code" href="vs10xx_8h.html#a5">SPI_CLOCKF</a>, 0xa6, 0x96);00047 <span class="preprocessor">#else</span>00048 <span class="preprocessor"></span>  <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a>(<a class="code" href="vs10xx_8h.html#a5">SPI_CLOCKF</a>, 156, 204);00049 <span class="preprocessor">#endif</span>00050 <span class="preprocessor"></span>  00051   <a class="code" href="board_8h.html#a51">Delay</a>(1); <span class="comment">/* One millisecond delay */</span>00052 00053  00054   <span class="comment">/* Send null bytes to data interface */</span>00055   <a class="code" href="board_8h.html#a7">Mp3SelectData</a>();00056   <a class="code" href="board_8h.html#a45">SPIPutCharWithoutWaiting</a>(0);00057   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0);00058   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0);00059   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0);00060   <a class="code" href="board_8h.html#a43">SPIWait</a>();00061   <a class="code" href="board_8h.html#a8">Mp3DeselectData</a>();00062 00063 }00064 00065 00066 00067 <a name="l00069"></a><a class="code" href="vs10xx_8h.html#a36">00069</a> <span class="keywordtype">void</span> <a class="code" href="vs10xx_8c.html#a3">Mp3Reset</a>(){00070 00071   <a class="code" href="board_8h.html#a1">Mp3PutInReset</a>();00072   <a class="code" href="board_8h.html#a51">Delay</a>(1);00073 00074   <span class="comment">/* Send dummy SPI byte to initialize SPI */</span>00075   <a class="code" href="board_8h.html#a45">SPIPutCharWithoutWaiting</a>(0xFF);00076 00077   <span class="comment">/* Un-reset MP3 chip */</span>00078   <a class="code" href="board_8h.html#a5">Mp3DeselectControl</a>();00079   <a class="code" href="board_8h.html#a8">Mp3DeselectData</a>();00080   <a class="code" href="board_8h.html#a2">Mp3ReleaseFromReset</a>();00081   <a class="code" href="vs10xx_8h.html#a33">Mp3SetVolume</a>(0xff,0xff);00082   00083   <span class="comment">/* Set clock register, doubler etc. */</span>00084 <span class="preprocessor">#ifdef VS1003</span>00085 <span class="preprocessor"></span>  <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a>(<a class="code" href="vs10xx_8h.html#a5">SPI_CLOCKF</a>, 0xa6, 0x96); <span class="comment">//oli 0xa66c</span>00086 <span class="preprocessor">#else</span>00087 <span class="preprocessor"></span>  <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a>(<a class="code" href="vs10xx_8h.html#a5">SPI_CLOCKF</a>, 156, 204);00088 <span class="preprocessor">#endif</span>00089 <span class="preprocessor"></span>  00090   <span class="comment">/* Wait for DREQ */</span>00091   <span class="keywordflow">while</span> (!<a class="code" href="board_8h.html#a9">MP3_DREQ</a>)00092     ;00093   00094   <span class="comment">/* Slow sample rate for slow analog part startup */</span>00095   <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a>(<a class="code" href="vs10xx_8h.html#a7">SPI_AUDATA</a>, 0, 10); <span class="comment">/* 10 Hz */</span>00096   <a class="code" href="board_8h.html#a51">Delay</a>(100);00097 00098   <span class="comment">/* Switch on the analog parts */</span>00099   <a class="code" href="vs10xx_8h.html#a33">Mp3SetVolume</a>(0xfe,0xfe);00100   <a class="code" href="vs10xx_8h.html#a32">Mp3WriteRegister</a> (<a class="code" href="vs10xx_8h.html#a7">SPI_AUDATA</a>, 31, 64); <span class="comment">/* 8kHz */</span>00101   <a class="code" href="vs10xx_8h.html#a33">Mp3SetVolume</a>(20,20);00102   <a class="code" href="vs10xx_8c.html#a2">Mp3SoftReset</a>();00103   <a class="code" href="board_8h.html#a42">SPISetFastClock</a>();00104   00105 00106   ConsoleWrite (<span class="stringliteral">"Init: VS10XX\r"</span>);00107 00108 }00109 00110 <a name="l00112"></a><a class="code" href="vs10xx_8h.html#a35">00112</a> <span class="keywordtype">void</span> <a class="code" href="vs10xx_8c.html#a4">VsSineTest</a>(){00113 00114   <span class="comment">/* Reset MP3 chip */</span>00115   <a class="code" href="board_8h.html#a1">Mp3PutInReset</a>();       <span class="comment">/* Pull xRESET low -&gt; hardware reset */</span>00116   <a class="code" href="board_8h.html#a51">Delay</a>(100);            <span class="comment">/* 100 ms delay */</span>00117 00118   <span class="comment">/* Send dummy SPI byte to initialize SPI of Atmel microcontroller */</span>00119   <a class="code" href="board_8h.html#a45">SPIPutCharWithoutWaiting</a>(0xFF);00120 00121   <span class="comment">/* Un-reset MP3 chip */</span>00122   <a class="code" href="board_8h.html#a5">Mp3DeselectControl</a>();  <span class="comment">/* Pull xCS high    */</span>00123   <a class="code" href="board_8h.html#a8">Mp3DeselectData</a>();     <span class="comment">/* Pull xDCS high   */</span>00124   <a class="code" href="board_8h.html#a2">Mp3ReleaseFromReset</a>(); <span class="comment">/* Pull xRESET high */</span>00125   <a class="code" href="board_8h.html#a51">Delay</a>(100);            <span class="comment">/* 100 ms delay     */</span>00126 00127   <a class="code" href="board_8h.html#a11">GREEN_LED</a> = <a class="code" href="board_8h.html#a12">LED_ON</a>;00128   <a class="code" href="board_8h.html#a10">RED_LED</a> = <a class="code" href="board_8h.html#a12">LED_ON</a>;00129 00130   <span class="comment">/* VS10xx Application Notes, chapter 4.8 ---------------------------------*/</span>00131   <span class="comment">/* As an example, let's write value 0x0820 to register 00 byte by byte    */</span>00132   <a class="code" href="board_8h.html#a4">Mp3SelectControl</a>();    <span class="comment">/* Now SPI writes go to SCI port                   */</span>00133   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x02);      <span class="comment">/* Send SPI Byte, then wait for byte to be sent.   */</span>00134   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);      <span class="comment">/* 0x02 was WRITE command, 0x00 is register number */</span>00135   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x08);      <span class="comment">/* This byte goes to MSB                           */</span>00136   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x20);      <span class="comment">/* ..and this is LSB. (0x20=Allow Test Mode)       */</span>00137   <a class="code" href="board_8h.html#a43">SPIWait</a>();             <span class="comment">/* Wait until Atmel MCU signals SPI write complete */</span>00138   <a class="code" href="board_8h.html#a5">Mp3DeselectControl</a>();  <span class="comment">/* Now SPI writes don't go to SCI port             */</span>00139 00140   <span class="keywordflow">while</span> (!<a class="code" href="board_8h.html#a9">MP3_DREQ</a>)      <span class="comment">/* Wait for DREQ = 1                               */</span>00141     ;                    <span class="comment">/* Do nothing while waiting for DREQ = 1           */</span>00142 00143   <span class="comment">/* Send a Sine Test Header to Data port                                   */</span>00144   <a class="code" href="board_8h.html#a7">Mp3SelectData</a>();       <span class="comment">/* Now SPI writes go to SDI port                   */</span>00145 00146   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x53);      <span class="comment">/* - This is a special VLSI Solution test header - */</span>00147   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0xef);      <span class="comment">/* - that starts a sine sound. It's good for     - */</span>00148   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x6e);      <span class="comment">/* - testing your code, the chip and also for    - */</span>00149   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x44);      <span class="comment">/* - seeing if your MP3 decoder was manufactured - */</span>00150   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);      <span class="comment">/* - by VLSI Solution oy. ------------------------ */</span>00151   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00152   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00153   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00154   <a class="code" href="board_8h.html#a43">SPIWait</a>();00155   <a class="code" href="board_8h.html#a8">Mp3DeselectData</a>();00156   00157   <a class="code" href="board_8h.html#a10">RED_LED</a> = <a class="code" href="board_8h.html#a13">LED_OFF</a>;00158   <a class="code" href="board_8h.html#a51">Delay</a> (500);           <span class="comment">/* 500 ms delay */</span>00159   <a class="code" href="board_8h.html#a11">GREEN_LED</a> = <a class="code" href="board_8h.html#a13">LED_OFF</a>;00160 00161   <span class="comment">/* Stop the sine test sound */</span>00162   <a class="code" href="board_8h.html#a7">Mp3SelectData</a>();00163   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x45);00164   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x78);00165   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x69);00166   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x74);00167   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00168   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00169   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00170   <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0x00);00171   <a class="code" href="board_8h.html#a43">SPIWait</a>();00172   <a class="code" href="board_8h.html#a8">Mp3DeselectData</a>();00173 00174   <a class="code" href="board_8h.html#a51">Delay</a>(500);            <span class="comment">/* 500 ms delay */</span>00175 }  00176 <a name="l00178"></a><a class="code" href="vs10xx_8h.html#a39">00178</a> <span class="keywordtype">void</span> <a class="code" href="vs10xx_8c.html#a5">SendZerosToVS10xx</a>(){00179   <a class="code" href="board_8h.html#a7">Mp3SelectData</a>();00180   <a class="code" href="board_8h.html#a45">SPIPutCharWithoutWaiting</a>(0);00181   <span class="keywordflow">for</span> (<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o1">i</a>=0; <a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o1">i</a>&lt;1048; <a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o1">i</a>++){ <span class="comment">/* TESTING 1048 TESTING */</span>00182     <span class="keywordflow">while</span> (!<a class="code" href="board_8h.html#a9">MP3_DREQ</a>)00183       ;00184     <a class="code" href="board_8h.html#a44">SPIPutChar</a>(0);00185   }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线欧美日韩国产| 91视频免费看| 另类小说一区二区三区| 午夜影院久久久| 午夜精品久久久久久久99水蜜桃| 日韩理论片一区二区| 亚洲三级在线免费观看| 亚洲一区二区三区中文字幕| 亚洲网友自拍偷拍| 亚洲国产精品久久久男人的天堂| 香蕉成人伊视频在线观看| 日韩激情一二三区| 国产在线不卡视频| av在线播放一区二区三区| 色综合久久久久综合体| 欧美日韩在线播放一区| 欧美一区二区在线看| 欧美v日韩v国产v| 国产欧美一区二区精品忘忧草 | 国产精品欧美久久久久一区二区| 国产视频亚洲色图| 亚洲色图在线播放| 奇米在线7777在线精品| 国产福利精品导航| 91色在线porny| 日韩一区二区不卡| 欧美激情在线观看视频免费| 亚洲一区二区精品3399| 国内外成人在线| 色狠狠av一区二区三区| 日韩免费在线观看| 中文字幕亚洲电影| 蜜桃视频在线一区| 成人精品免费网站| 日韩一区二区三| 日韩伦理av电影| 久久av老司机精品网站导航| 99精品欧美一区二区三区小说 | 成人一区在线观看| 欧美日韩久久久一区| 久久久电影一区二区三区| 亚洲成人激情av| aa级大片欧美| 久久亚洲欧美国产精品乐播| 亚洲国产一区二区在线播放| 成人网页在线观看| 久久免费偷拍视频| 五月激情综合网| 在线亚洲人成电影网站色www| 久久新电视剧免费观看| 日韩综合小视频| 欧美色综合网站| **欧美大码日韩| 国产盗摄女厕一区二区三区| 日韩欧美亚洲国产另类| 亚洲视频每日更新| 国产jizzjizz一区二区| 欧美一区国产二区| 亚洲一区二区在线播放相泽| 一本久久精品一区二区| 久久在线观看免费| 蜜桃久久久久久久| 91精品国产一区二区| 亚洲国产aⅴ成人精品无吗| 91麻豆国产自产在线观看| 亚洲精品一线二线三线| 日韩国产欧美三级| 91麻豆精品国产| 午夜一区二区三区视频| 欧美性videosxxxxx| 亚洲国产视频一区| 欧美优质美女网站| 亚洲国产一区在线观看| 欧美日韩在线观看一区二区| 视频一区国产视频| 欧美日韩电影一区| 图片区日韩欧美亚洲| 欧美日韩黄色影视| 日韩国产精品久久| 日韩欧美中文字幕公布| 久久精品国产99国产| 欧美大尺度电影在线| 九色porny丨国产精品| 久久久久久麻豆| 国产成人免费视频网站| 日本一区二区三区四区| av不卡在线观看| 亚洲成a人在线观看| 日韩午夜中文字幕| 国产高清一区日本| 中文字幕av一区二区三区| 成人永久免费视频| 亚洲综合一二区| 欧美电影免费观看高清完整版在线 | 亚洲中国最大av网站| 欧美日韩一级大片网址| 欧美aⅴ一区二区三区视频| 久久九九全国免费| 色哟哟国产精品| 日本美女一区二区三区视频| 久久亚洲精品国产精品紫薇| 99视频精品在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕精品在线不卡| 欧美性猛片xxxx免费看久爱| 狠狠色丁香久久婷婷综合_中| 亚洲男人的天堂一区二区| 日韩女优电影在线观看| 91丝袜美女网| 久久精品国产999大香线蕉| 亚洲男人电影天堂| 久久综合久久综合久久| 欧美亚日韩国产aⅴ精品中极品| 国产专区欧美精品| 亚洲风情在线资源站| 久久精品在线观看| 欧美老年两性高潮| 成+人+亚洲+综合天堂| 久久99最新地址| 亚洲综合免费观看高清在线观看| ww亚洲ww在线观看国产| 欧美日韩在线播放一区| 国产凹凸在线观看一区二区| 偷拍自拍另类欧美| 亚洲另类色综合网站| 国产午夜亚洲精品羞羞网站| 欧美一区二区三区的| 91久久久免费一区二区| 国产成人在线观看| 麻豆91免费看| 丝袜美腿亚洲色图| 一区二区三区中文字幕电影| 国产精品九色蝌蚪自拍| 国产三级精品三级| 日韩三级在线观看| 7777女厕盗摄久久久| 欧美中文字幕亚洲一区二区va在线| 成人小视频免费观看| 国产在线国偷精品免费看| 视频一区二区三区在线| 亚洲精品视频在线观看网站| 日韩一区中文字幕| 国产视频在线观看一区二区三区| 精品国产乱码久久久久久闺蜜| 欧美日本在线一区| 91网页版在线| 色吧成人激情小说| 色综合色综合色综合色综合色综合| 成人一区二区三区在线观看 | 亚洲免费av高清| 国产偷国产偷亚洲高清人白洁| 久久久久久一二三区| 欧美精品一区二区三区在线播放| 久久天天做天天爱综合色| 日韩三级视频在线看| 精品国产91乱码一区二区三区| 精品国产三级a在线观看| 精品国产伦一区二区三区观看方式 | 久久香蕉国产线看观看99| 精品国产乱子伦一区| 日本一区二区三区高清不卡| 国产日产欧美一区二区视频| 一色屋精品亚洲香蕉网站| 亚洲卡通欧美制服中文| 亚洲高清久久久| 狠狠色狠狠色综合| 粉嫩一区二区三区在线看| 99re这里只有精品视频首页| 在线精品视频免费播放| 欧美精品第1页| 国产日韩精品视频一区| 亚洲精品免费在线观看| 视频一区视频二区在线观看| 国产精品自拍三区| 91在线视频免费观看| 91精品一区二区三区在线观看| 欧美电影免费观看高清完整版在 | 欧美在线999| 欧美一区二区高清| 国产日产欧美一区| 一区二区三区成人| 黑人巨大精品欧美一区| av在线不卡免费看| 日韩欧美在线1卡| 国产精品乱码妇女bbbb| 亚洲午夜国产一区99re久久| 国产美女视频一区| 在线观看视频一区| 久久一二三国产| 亚洲综合在线第一页| 久久99国内精品| 在线看国产一区二区| 久久亚洲一区二区三区明星换脸| 亚洲欧美一区二区不卡| 日本怡春院一区二区| 高清不卡一二三区| 69久久夜色精品国产69蝌蚪网| 欧美激情资源网| 极品少妇xxxx精品少妇偷拍| 欧美三级蜜桃2在线观看|