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

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

?? power.c

?? butterfly MP3源代碼
?? C
字號:
/**@file	power.c@brief	Butterfly MP3 Power Routines@author	Nick Lott @date	January 2006Copyright (C) 2004 Nick Lott <brokentoaster@sf.net>http://butterflymp3.sf.net/This is the power control software for the ButterflyMP3 project.This file contains all software responsible for controlling thepower save modes for the mp3 player.This program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.Target(s)...: ATmega169Compiler....: AVR-GCC 3.3.1; avr-libc 1.2 **/#include <avr/io.h>#include <avr/pgmspace.h>#include <avr/interrupt.h>#include "power.h"#include "main.h"#include "types.h"#include "uart.h"#include "vs1001.h"#include "lcdgraphics.h"#include "eeprom.h"#include "ADC.H"/***	Power_save *	@return 	none * *	Set Butterfly into powersave mode when nothing happening *	Keep timer2 and pin change interupts on only. **/void Power_save(void){	PRINT("pDWN");	SMCR = (2<<SM0) | (1<<SE);      // Enable Power-down mode	asm volatile ("sleep"::);	// NOTE: need to hit a button when inserting card to wakeup. !!	// will add RTC later for power down time out etc which should 	// wake up and detect card once a second.	SMCR = 0;                       // Just woke, disable sleep}/***	Power_idle *	@return 	none * *	Set Butterfly into idle mode when nothing happening *	Keeps the timers running etc. **/void Power_idle(void){	//PRINT("pIDLE");	SMCR = (1<<SE);                 // Enable idle mode	asm volatile ("sleep"::);		SMCR = 0;                       // Just woke, disable sleep}/***	Power_off *	@return 	none * *	Shut down all non essential systems **/void Power_off(void){	PRINT("pOFF");EOL();	uint16	buf[2];		//SHUTDOWN LCD	LCD_Sleep();							//SHUTDOWN UART	UART_Shutdown();		//SHUTDOWN vs1001k	vs1001_read(0, 1, buf);	buf[1] |= SM_PDOWN;	vs1001_write(0,1,buf);		CBI(RESET_PORT, RESET_PIN);	// RESET- low	// RESET_PIN is pulled low by external resistor ( R9 rev C) during bootloader mode	// R9 is neccesary to hold reset low while Butterfly is in bootloader mode.		//MMC should go into shutdown by default as per 	//"SanDisk MultiMediaCard and Reduced-Size MultiMediaCard Product Manual"	//Doc No. 80-36-00320 v1.0 page 1-4 sec 1.10		while(1){		// Put into low power mode (no write to eeprom)		Power_save();				if(!(PINB & (1<<PINB6)))	// mt if(!(PINB & (1<<PORTB6)))		{   // joystick "up" detected						//wake up UART			UART_Init();						//wake up VS1001			SBI(RESET_PORT, RESET_PIN);	// RESET- Hi						//wake up LCD			LCD_Wake();						return;		}		else if(!(PINB & (1<<PINB7)))                		{	//Joystick "down" detected						//save current settings			save_player_options();						//TODO: Write MMC Serial Number to EEPROM						//write current song to EEPROM			save_player_state();						//Jump to Bootloader			WDTCR = (1<<WDCE) | (1<<WDE);     //Enable Watchdog Timer to give reset			while(1);   			// wait for watchdog-reset, since the BOOTRST-fuse is 			// programmed, the Boot-section will be entered upon reset.						// Press UP to turn on again. (and exit the bootloader)					}	}		// NOTE: for the standby mode to work as intended, the butterfly must have 	// the original bootloader installed and have the 	// "Boot Reset vector Enabled - BOOTRST" fuse programmed.	}void Power_Init(void){		// clear portf for ADC use 	DDRF = 0x00;	PORTF = 0x00;		//setup adc internal 1.1 volt reference and voltage sensor	ADMUX = VOLTAGE_SENSOR|(1<<REFS0)|(1<<REFS1);	//Free running mode 	ADCSRB = (0<<ADTS2) |(0<<ADTS1) |(0<<ADTS0);	// set ADC prescaler to , 8MHz / 128 = 62.5kHz  ,  auto trigger	ADCSRA = (1<<ADEN)| (1<<ADSC) | (0<<ADATE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);	}/***	Power_check* *	Check the battery voltage and return level* *	@return uint8 containing voltage level**/uint16	Power_check(void){	uint8 i;	uint16	batteryVoltage=0;	uint32 ADC_temp;		// Check Battery Voltage.	ADCSRA |= (1<<ADEN)|(1<<ADSC);		//Start ADC	while(!(ADCSRA & 0x10));    // wait for conversion done, ADIF flag active	    for(i=0;i<8;i++)            // do the ADC conversion 8 times for better accuracy     {        ADCSRA |= (1<<ADSC);        // do single conversion        while(!(ADCSRA & 0x10));    // wait for conversion done, ADIF flag active                ADC_temp = ADCL;            // read out ADCL register        ADC_temp += (ADCH << 8);    // read out ADCH register        		        batteryVoltage += ADC_temp;      // accumulate result (8 samples) for later averaging    }	    batteryVoltage = batteryVoltage >> 3;     // average the 8 samples		ADCSRA &= ~((1<<ADEN));	//ADCSRA |= (1<<ADIF); //reset interruppt flag		PRINT("VOLTAGE ");	UART_Printfu16(batteryVoltage);	EOL();		return batteryVoltage;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品一区二区| 日韩免费性生活视频播放| 国产欧美精品一区二区色综合朱莉| 日韩福利电影在线| 欧美一区二区三区视频免费播放| 水野朝阳av一区二区三区| 91精品国产综合久久久久久漫画 | 粉嫩绯色av一区二区在线观看 | 亚洲人xxxx| 欧美在线观看禁18| 国产精品国产三级国产aⅴ入口 | 亚洲免费观看高清完整版在线观看 | 99re这里只有精品视频首页| 亚洲日本一区二区| 91精品婷婷国产综合久久竹菊| 久色婷婷小香蕉久久| 国产日韩视频一区二区三区| av资源站一区| 日韩精品免费视频人成| 久久综合国产精品| 91久久香蕉国产日韩欧美9色| 天天影视色香欲综合网老头| 精品日韩av一区二区| av福利精品导航| 喷水一区二区三区| 国产精品剧情在线亚洲| 欧美亚洲自拍偷拍| 狠狠狠色丁香婷婷综合激情| 亚洲欧美日韩一区二区| 日韩一区二区三区三四区视频在线观看 | 精品美女一区二区三区| 99国产麻豆精品| 日韩福利视频导航| ...中文天堂在线一区| 91精品国产91久久综合桃花| 成人国产亚洲欧美成人综合网 | 日韩二区三区四区| 综合av第一页| 国产亚洲一本大道中文在线| 欧美午夜一区二区| 成人一区在线观看| 麻豆一区二区三| 《视频一区视频二区| 亚洲人成影院在线观看| 欧美猛男男办公室激情| 国产酒店精品激情| 日韩黄色片在线观看| 亚洲色图制服诱惑| 欧美极品xxx| 欧美成人三级电影在线| 欧洲在线/亚洲| 国产成人精品免费| 久久精品国产一区二区三| 亚洲自拍另类综合| 亚洲乱码中文字幕| 亚洲国产精品黑人久久久| 精品国产乱码久久久久久夜甘婷婷 | 午夜精品123| 亚洲欧美日韩国产成人精品影院| 国产视频在线观看一区二区三区| 欧美一区二区在线观看| 亚洲免费观看高清在线观看| 这里只有精品免费| 欧美日韩国产综合视频在线观看| 成人久久久精品乱码一区二区三区| 日韩成人精品在线| 日韩av电影免费观看高清完整版| 亚洲激情中文1区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 久久综合资源网| 精品动漫一区二区三区在线观看| 欧美丰满美乳xxx高潮www| 欧美天堂亚洲电影院在线播放| 91麻豆免费观看| 色婷婷综合久久久中文一区二区| www.亚洲人| 色婷婷国产精品综合在线观看| 国产传媒日韩欧美成人| 国产91丝袜在线播放九色| 国产盗摄一区二区| 成人毛片老司机大片| 97久久超碰国产精品电影| 91色porny| 欧美在线免费观看视频| 欧美无乱码久久久免费午夜一区| 欧美日韩中文字幕一区二区| 欧美日韩国产一级二级| 欧美高清激情brazzers| 日韩视频123| 国产亚洲精品福利| 中文字幕日韩精品一区| 一区二区三区在线看| 三级一区在线视频先锋| 美女精品一区二区| 国产高清无密码一区二区三区| 丰满放荡岳乱妇91ww| 91成人免费电影| 欧美喷水一区二区| 欧美v日韩v国产v| 欧美国产禁国产网站cc| 亚洲精品第一国产综合野| 日韩在线a电影| 福利视频网站一区二区三区| 91亚洲午夜精品久久久久久| 欧美日韩国产综合视频在线观看| 欧美mv日韩mv国产网站| 国产精品人人做人人爽人人添| 亚洲精品国产高清久久伦理二区| 五月婷婷激情综合| 国产成人精品三级| 欧美日韩中文字幕精品| 国产亚洲欧洲997久久综合| 亚洲女性喷水在线观看一区| 首页国产丝袜综合| 成人性生交大片免费| 欧美日本在线播放| 日本一区免费视频| 五月天精品一区二区三区| 国内外精品视频| 欧美亚洲国产一区在线观看网站| 日韩精品一区国产麻豆| 亚洲同性gay激情无套| 老司机精品视频在线| 色网站国产精品| 久久久午夜精品| 天堂va蜜桃一区二区三区 | 国产+成+人+亚洲欧洲自线| 欧美日韩日本视频| 国产欧美日韩在线观看| 日本一区中文字幕| jlzzjlzz亚洲女人18| 精品国产免费视频| 视频精品一区二区| 91福利在线免费观看| 国产日韩一级二级三级| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩不卡手机在线v区| 99国产精品国产精品毛片| 精品国内片67194| 午夜精品久久久久久久久久| 99久久精品情趣| 国产校园另类小说区| 免费精品99久久国产综合精品| 色屁屁一区二区| 中文字幕永久在线不卡| 国产精品中文字幕日韩精品| 欧美一区午夜视频在线观看| 一二三四区精品视频| av亚洲精华国产精华| 国产欧美一区二区精品性| 极品少妇xxxx精品少妇偷拍 | 久久国内精品自在自线400部| 91亚洲精品久久久蜜桃| 久久美女高清视频| 国产在线精品一区二区| 日韩精品影音先锋| 久久国产精品99久久人人澡| 欧美一区二区精品在线| 日韩成人免费电影| 日韩视频中午一区| 美女一区二区久久| 日韩写真欧美这视频| 麻豆国产精品视频| 日韩女优av电影| 免费观看30秒视频久久| 日韩欧美激情一区| 美女久久久精品| 日韩午夜中文字幕| 久久福利资源站| 久久久亚洲高清| 大陆成人av片| 中文字幕一区二区不卡| 色视频欧美一区二区三区| 一二三四社区欧美黄| 欧美高清激情brazzers| 日本不卡1234视频| 精品久久久久99| 国产精品亚洲人在线观看| 国产精品私人自拍| 不卡视频一二三四| 欧美日韩精品一区二区在线播放| 国产日韩精品一区二区浪潮av| 国产一区二区三区视频在线播放 | 色婷婷精品大在线视频| 一区二区三区日本| 欧美人牲a欧美精品| 久久黄色级2电影| 国产精品乱人伦一区二区| eeuss鲁片一区二区三区| 亚洲永久免费av| 欧美精选一区二区| 国产一区二区在线观看视频| 国产日韩av一区| 日本道色综合久久| 欧美一区二视频| 亚洲国产精品麻豆| 在线播放91灌醉迷j高跟美女| 亚洲va国产天堂va久久en| 日韩女优毛片在线| 亚洲欧美一区二区三区孕妇|