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

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

?? vs1001.c

?? 用ATmega8 做的MP3播放器
?? C
字號:
/*
 * Copyright (c) 2003-2004 K. John '2B|!2B' Crispin
 * Copyright (c) 2005      Stephan Dobretsberger
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA
 *
 * Feedback, Bugs, ... mail stephan.dobretsberger@gmx.at
 *
 */

#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include "config.h"
#include "types.h"
#include "delay.h"
#include "vs1001.h"
#include "spi.h"

void VS1001_send_SCI(u08 reg, u16 data)
{ // pull the CS line low
  VS_CS_LO;
  // do the pseudo i2c start
  VS1001_WRITE;
  spi_io(reg);
  // send the data
  spi_io(HIBYTE(data));
  spi_io(LOBYTE(data));
  // pull the cs line back up
  VS_CS_HI;
};

u16 VS1001_read_SCI(u08 reg)
{ u16 data;
  // pull the CS line low
  VS_CS_LO;
  // do the pseudo i2c start
  VS1001_READ;
  spi_io(reg);
  // get the reg data
  data = TO_HIBYTE(spi_io(0x00));
  data += spi_io(0x00);
  // pull the cs line back up
  VS_CS_HI;
  return data;
};

void VS1001_send_SDI(u08 data)
{ VS_BSYNC_HI;
  outp(data, SPDR);   // send data
  // after 3 NOPs the fourth tick pulls bsync low, as a spi
  // level change takes 4 ticks, they switch at the same time and vs1001 takes in mp3 data
  NOP;NOP;NOP;
  VS_BSYNC_LO;
  // wait for data to be sent
  while((inp(SPSR)&(1<<SPIF))== 0x00){};
};

void VS1001_send_SDI_32(u08* data)
{ int i;
  VS1001_WHILE_NEEDS_NO_DATA;
  for(i=0; i<32; i++)
  { VS1001_send_SDI(data[i]);
  };
};

void VS1001_send_zeros(u08 count)
{ do
  { VS1001_send_SDI(0x0);
    count--;
  }while(count);
};

void VS1001_SW_reset(void)
{ // for sanity
  delay_ms(100);
  u16 regval = 0x04;
  // set bit 2 of mode reg to 1 for reset
  VS1001_send_SCI(REG_MODE, regval);
  // for sanity
  delay_ms(2);
  //while(VS1001_NEEDS_NO_DATA){};
  VS1001_WHILE_NEEDS_NO_DATA
  // set 25.0 MHz clock
  regval = 12500; // = clock / 2000
  VS1001_send_SCI(REG_CLOCKF, regval);
  // according to datasheet
  VS1001_send_zeros(32);
};

void VS1001_HW_reset(void)
{ // pull down the reset pin for 1 second
  VS_RESET_LO;
  // delay
  DELAY_1SEC;
  // pull up again
  VS_RESET_HI;
  // delay
  DELAY_1SEC;
};

void VS1001_init(void)
{ // set bsync output low
  cbi(VS1001_PORT,PIN_VS1001_BSYNC);
  sbi(VS1001_DDR, PIN_VS1001_BSYNC);

  // set DREQ input with pull up
  sbi(VS1001_PORT,PIN_VS1001_DREQ);
  cbi(VS1001_DDR, PIN_VS1001_DREQ);

  // set /CS output high
  sbi(VS1001_PORT,PIN_VS1001_CS);
  sbi(VS1001_DDR, PIN_VS1001_CS);

  // set RESET output low
  // make sure to do a reset after the init
  cbi(VS1001_PORT,PIN_VS1001_RESET);
  sbi(VS1001_DDR, PIN_VS1001_RESET);

  VS1001_HW_reset();
  VS1001_SW_reset();
};

void VS1001_sine(BOOL state, u08 freq)
{ //VS1001_send_zeros(16);
  if(state == 0x01)
  { VS1001_send_SDI(0x53);
    VS1001_send_SDI(0xEF);
    VS1001_send_SDI(0x6E);
    VS1001_send_SDI(freq);
    VS1001_send_zeros(0x04);
  }
  else
  { VS1001_send_SDI(0x45);
    VS1001_send_SDI(0x78);
    VS1001_send_SDI(0x69);
    VS1001_send_SDI(0x74);
    VS1001_send_zeros(0x04);
  };
};

// sets the Volume register for VS1001
void VS1001_volume(u08 left, u08 right)
{ u16 regval = TO_HIBYTE(left)+(u16)right;
  VS1001_send_SCI(REG_VOL, regval);
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区影音先锋| 精品久久久久久久久久久院品网| 国产精品麻豆视频| 成人性色生活片| 国产精品久久久久久户外露出| 成人永久看片免费视频天堂| 国产日韩欧美高清| av欧美精品.com| 亚洲美女一区二区三区| 欧美日韩成人综合在线一区二区| 日本在线播放一区二区三区| 日韩手机在线导航| 国产精品一区在线观看乱码| 日本一区二区电影| 色偷偷成人一区二区三区91| 亚洲国产一区在线观看| 91精品一区二区三区在线观看| 美国一区二区三区在线播放| 欧美成人官网二区| 99久久99久久久精品齐齐| 一区二区三区.www| 日韩女优制服丝袜电影| 国产美女视频一区| 亚洲三级在线看| 欧美一级艳片视频免费观看| 国产精品亚洲人在线观看| 日韩美女视频一区二区| 欧美一区二区三区四区久久| 高清免费成人av| 亚洲一区在线观看视频| 精品国产一区二区三区不卡| aaa欧美色吧激情视频| 偷拍一区二区三区| 国产精品久久网站| 91精品国产综合久久久久久久久久| 欧美电影一区二区三区| 国产一区二区免费视频| 亚洲一区在线视频| 欧美韩日一区二区三区四区| 欧美顶级少妇做爰| 91麻豆精品视频| 国内外成人在线视频| 亚洲小说欧美激情另类| 久久色在线视频| 精品婷婷伊人一区三区三| 国产在线精品一区二区不卡了| 一区二区三区四区中文字幕| 久久蜜桃香蕉精品一区二区三区| 欧美亚洲综合网| 粉嫩高潮美女一区二区三区| 免费看欧美女人艹b| 亚洲愉拍自拍另类高清精品| 国产精品少妇自拍| 精品国产一区二区精华| 91麻豆精品国产91久久久资源速度| 91在线无精精品入口| 国产自产高清不卡| 天天射综合影视| 一区二区三区中文字幕精品精品| 久久毛片高清国产| 欧美一级一区二区| 欧美二区乱c少妇| 欧美日韩另类国产亚洲欧美一级| eeuss鲁片一区二区三区 | 国内外成人在线视频| 亚洲国产精品欧美一二99| 国产精品欧美一区喷水| 久久久五月婷婷| xfplay精品久久| 精品少妇一区二区三区视频免付费 | 奇米888四色在线精品| 亚洲第一福利视频在线| 亚洲欧美另类在线| 亚洲免费在线观看| 一区二区三区在线视频免费观看| 国产嫩草影院久久久久| 国产三级精品三级在线专区| 欧美精品一区二区在线观看| 日韩情涩欧美日韩视频| 欧美一级黄色大片| 精品欧美一区二区三区精品久久| 91精品欧美一区二区三区综合在 | 91久久精品午夜一区二区| 不卡的av中国片| 91在线观看下载| 91啪亚洲精品| 欧美午夜一区二区三区| 欧美性三三影院| 91精品国产综合久久婷婷香蕉| 亚洲一区二区视频在线观看| 亚洲精品老司机| 亚洲成人一二三| 美女网站一区二区| 国产精品一线二线三线| www.欧美亚洲| 欧美写真视频网站| 91精品国产综合久久精品| 精品裸体舞一区二区三区| 国产亚洲短视频| 中文字幕一区二区三| 玉足女爽爽91| 丝袜诱惑亚洲看片| 国产永久精品大片wwwapp | 久久99精品久久久久久国产越南| 精品一区二区三区免费播放 | 成人夜色视频网站在线观看| 成人激情免费视频| 欧美在线播放高清精品| 欧美一级久久久久久久大片| 国产人成亚洲第一网站在线播放| 国产精品久久看| 午夜一区二区三区视频| 精久久久久久久久久久| 不卡一区二区中文字幕| 欧美日韩国产免费一区二区| 精品精品欲导航| 亚洲图片另类小说| 日本欧美大码aⅴ在线播放| 国产成人在线视频免费播放| 日本精品一级二级| 久久奇米777| 一区二区三区美女| 国产精品18久久久久| 欧美性大战久久| 国产亚洲欧美中文| 五月天激情综合网| 国产视频一区二区在线| 亚洲精品五月天| 韩日av一区二区| 色先锋aa成人| 国产喂奶挤奶一区二区三区| 亚洲制服丝袜av| 成人中文字幕合集| 欧美精品亚洲二区| 国产精品久久久久久久岛一牛影视| 石原莉奈在线亚洲三区| 99久久er热在这里只有精品66| 欧美成人一区二区三区在线观看 | 精品国产一区二区三区久久久蜜月| 亚洲男女毛片无遮挡| 国产很黄免费观看久久| 91精品欧美一区二区三区综合在| 一色桃子久久精品亚洲| 国产综合色视频| 欧美卡1卡2卡| 一区二区三区在线看| 高清日韩电视剧大全免费| 精品乱码亚洲一区二区不卡| 午夜天堂影视香蕉久久| 色婷婷国产精品| 国产精品成人免费| 国产成人av在线影院| 欧美大片在线观看| 肉肉av福利一精品导航| 91久久精品国产91性色tv| 国产精品不卡在线观看| 国产98色在线|日韩| 久久久99久久| 国产伦精品一区二区三区在线观看| 538prom精品视频线放| 亚洲综合无码一区二区| 972aa.com艺术欧美| 国产精品天天看| 成人教育av在线| 国产精品久久久久久久久久免费看 | 91精品国产91久久久久久一区二区 | 欧美福利电影网| 亚洲成人一二三| 欧美午夜精品免费| 亚洲精品网站在线观看| 色综合欧美在线| 亚洲黄色性网站| 欧美影院精品一区| 亚洲一二三级电影| 欧美日本在线视频| 日产欧产美韩系列久久99| 欧美乱妇23p| 日本三级韩国三级欧美三级| 91精品国产麻豆| 日本麻豆一区二区三区视频| 91精品欧美福利在线观看| 奇米精品一区二区三区在线观看一 | 国产综合久久久久影院| 久久久99精品久久| 91香蕉国产在线观看软件| 亚洲日本va在线观看| 欧美这里有精品| 日韩精品成人一区二区在线| 欧美一级夜夜爽| 国产不卡视频在线观看| 1区2区3区精品视频| 91国偷自产一区二区开放时间 | 高清不卡在线观看av| 日韩一区在线看| 在线精品国精品国产尤物884a| 一二三区精品福利视频| 在线播放亚洲一区| 狠狠色狠狠色综合系列| 国产精品欧美一级免费| 欧美日韩在线直播|