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

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

?? pm.h

?? freertosV4.40 是一種small的嵌入式系統。利于嵌入式開好者入門學習嵌入式操作系統。通過對于源碼的學習可以很好的掌握freertos的運行機制。
?? H
字號:
/*This file has been prepared for Doxygen automatic documentation generation.*/
/*! \file *********************************************************************
 *
 * \brief Power Manager driver.
 *
 *
 * - Compiler:           IAR EWAVR32 and GNU GCC for AVR32
 * - Supported devices:  All AVR32 devices.
 * - AppNote:
 *
 * \author               Atmel Corporation: http://www.atmel.com \n
 *                       Support and FAQ: http://support.atmel.no/
 *
 *****************************************************************************/

/* Copyright (c) 2007, Atmel Corporation All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * 3. The name of ATMEL may not be used to endorse or promote products derived
 * from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
 * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */


#ifndef _PM_H_
#define _PM_H_

#include <avr32/io.h>
#include "compiler.h"
#include "preprocessor.h"


/*! \brief Sets the MCU in the specified sleep mode.
 *
 * \param mode Sleep mode:
 *   \arg \c AVR32_PM_SMODE_IDLE: Idle;
 *   \arg \c AVR32_PM_SMODE_FROZEN: Frozen;
 *   \arg \c AVR32_PM_SMODE_STANDBY: Standby;
 *   \arg \c AVR32_PM_SMODE_STOP: Stop;
 *   \arg \c AVR32_PM_SMODE_SHUTDOWN: Shutdown (DeepStop);
 *   \arg \c AVR32_PM_SMODE_STATIC: Static.
 */
#define SLEEP(mode)   {__asm__ __volatile__ ("sleep "STRINGZ(mode));}


/*! \brief Gets the MCU reset cause.
 *
 * \param pm Base address of the Power Manager instance (i.e. &AVR32_PM).
 *
 * \return The MCU reset cause which can be masked with the
 *         \c AVR32_PM_RCAUSE_x_MASK bit-masks to isolate specific causes.
 */
#if __GNUC__
__attribute__((__always_inline__))
#endif
extern __inline__ unsigned int pm_get_reset_cause(volatile avr32_pm_t *pm)
{
  return pm->rcause;
}


/*!
 * \brief This function will enable the external clock mode of the oscillator 0.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_enable_osc0_ext_clock(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the crystal mode of the oscillator 0.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param fosc0 Oscillator 0 crystal frequency (Hz)
 */
extern void pm_enable_osc0_crystal(volatile avr32_pm_t *pm, unsigned int fosc0);


/*!
 * \brief This function will enable the oscillator 0 to be used with a startup time.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param startup Clock 0 startup time. Time is expressed in term of RCOsc periods (3-bit value)
 */
extern void pm_enable_clk0(volatile avr32_pm_t *pm, unsigned int startup);


/*!
 * \brief This function will disable the oscillator 0.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_disable_clk0(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the oscillator 0 to be used with no startup time.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param startup Clock 0 startup time. Time is expressed in term of RCOsc periods (3-bit value) but not checked.
 */
extern void pm_enable_clk0_no_wait(volatile avr32_pm_t *pm, unsigned int startup);


/*!
 * \brief This function will wait until the Osc0 clock is ready.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_wait_for_clk0_ready(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the external clock mode of the oscillator 1.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_enable_osc1_ext_clock(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the crystal mode of the oscillator 1.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param fosc1 Oscillator 1 crystal frequency (Hz)
 */
extern void pm_enable_osc1_crystal(volatile avr32_pm_t *pm, unsigned int fosc1);


/*!
 * \brief This function will enable the oscillator 1 to be used with a startup time.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param startup Clock 1 startup time. Time is expressed in term of RCOsc periods (3-bit value)
 */
extern void pm_enable_clk1(volatile avr32_pm_t *pm, unsigned int startup);


/*!
 * \brief This function will disable the oscillator 1.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_disable_clk1(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the oscillator 1 to be used with no startup time.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param startup Clock 1 startup time. Time is expressed in term of RCOsc periods (3-bit value) but not checked.
 */
extern void pm_enable_clk1_no_wait(volatile avr32_pm_t *pm, unsigned int startup);


/*!
 * \brief This function will wait until the Osc1 clock is ready.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_wait_for_clk1_ready(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the external clock mode of the 32-kHz oscillator.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_enable_osc32_ext_clock(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the crystal mode of the 32-kHz oscillator.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_enable_osc32_crystal(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the oscillator 32 to be used with a startup time.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param startup Clock 32 kHz startup time. Time is expressed in term of RCOsc periods (3-bit value)
 */
extern void pm_enable_clk32(volatile avr32_pm_t *pm, unsigned int startup);


/*!
 * \brief This function will disable the oscillator 32.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_disable_clk32(volatile avr32_pm_t *pm);


/*!
 * \brief This function will enable the oscillator 32 to be used with no startup time.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param startup Clock 32 kHz startup time. Time is expressed in term of RCOsc periods (3-bit value) but not checked.
 */
extern void pm_enable_clk32_no_wait(volatile avr32_pm_t *pm, unsigned int startup);


/*!
 * \brief This function will wait until the osc32 clock is ready.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_wait_for_clk32_ready(volatile avr32_pm_t *pm);


//FIXME update this header -SM
/*!
 * \brief This function will select all the power manager clocks.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param pbadiv Peripheral Bus A clock divisor enable
 * \param pbasel Peripheral Bus A select
 * \param pbbdiv Peripheral Bus B clock divisor enable
 * \param pbbsel Peripheral Bus B select
 * \param hsbdiv High Speed Bus clock divisor enable (CPU clock = HSB clock)
 * \param hsbsel High Speed Bus select (CPU clock = HSB clock )
 */
extern void pm_cksel(volatile avr32_pm_t *pm, unsigned int pbadiv, unsigned int pbasel, unsigned int pbbdiv, unsigned int pbbsel, unsigned int hsbdiv, unsigned int hsbsel);


/*!
 * \brief This function will setup a generic clock.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param gc generic clock number (0 for gc0...)
 * \param osc_or_pll Use OSC (=0) or PLL (=1)
 * \param pll_osc Select Osc0/PLL0 or Osc1/PLL1
 * \param diven Generic clock divisor enable
 * \param div Generic clock divisor
 */
extern void pm_gc_setup(volatile avr32_pm_t *pm, unsigned int gc, unsigned int osc_or_pll, unsigned int pll_osc, unsigned int diven, unsigned int div);


/*!
 * \brief This function will enable a generic clock.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param gc generic clock number (0 for gc0...)
 */
extern void pm_gc_enable(volatile avr32_pm_t *pm, unsigned int gc);


/*!
 * \brief This function will disable a generic clock.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param gc generic clock number (0 for gc0...)
 */
extern void pm_gc_disable(volatile avr32_pm_t *pm, unsigned int gc);


//FIXME update this header -SM
/*!
 * \brief This function will setup a PLL.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param pll PLL number(0 for PLL0, 1 for PLL1)
 * \param mul
 * \param div
 * \param osc
 * \param lockcount
 */
extern void pm_pll_setup(volatile avr32_pm_t *pm, unsigned int pll, unsigned int mul, unsigned int div, unsigned int osc, unsigned int lockcount);


//FIXME update this header -SM
/*!
 * \brief This function will set a PLL option.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param pll PLL number(0 for PLL0, 1 for PLL1)
 * \param pll_freq Set to 1 for VCO frequency range 80-180MHz, set to 0 for VCO frequency range 160-240Mhz.
 * \param pll_div2 Divide the PLL output frequency by 2 (this settings does not change the FVCO value)
 * \param pll_wbwdisable 1 Disable the Wide-Bandith Mode (Wide-Bandwith mode allow a faster startup time and out-of-lock time). 0 to enable the Wide-Bandith Mode.
 */
extern void pm_pll_set_option(volatile avr32_pm_t *pm, unsigned int pll, unsigned int  pll_freq, unsigned int  pll_div2, unsigned int  pll_wbwdisable);


//FIXME update this header -SM
/*!
 * \brief This function will get a PLL option.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param pll PLL number(0 for PLL0, 1 for PLL1)
 * \return       Option
 */
extern unsigned int pm_pll_get_option(volatile avr32_pm_t *pm, unsigned int pll);


/*!
 * \brief This function will enable a PLL.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param pll PLL number(0 for PLL0, 1 for PLL1)
 */
extern void pm_pll_enable(volatile avr32_pm_t *pm, unsigned int pll);


/*!
 * \brief This function will disable a PLL.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param pll PLL number(0 for PLL0, 1 for PLL1)
 */
extern void pm_pll_disable(volatile avr32_pm_t *pm, unsigned int pll);


/*!
 * \brief This function will wait for PLL0 locked
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_wait_for_pll0_locked(volatile avr32_pm_t *pm);


/*!
 * \brief This function will wait for PLL1 locked
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 */
extern void pm_wait_for_pll1_locked(volatile avr32_pm_t *pm);


/*!
 * \brief This function will switch the power manager main clock.
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param clock Clock to be switched on. AVR32_PM_MCSEL_SLOW for RCOsc, AVR32_PM_MCSEL_OSC0 for Osc0, AVR32_PM_MCSEL_PLL0 for PLL0.
 */
extern void pm_switch_to_clock(volatile avr32_pm_t *pm, unsigned long clock);


/*!
 * \brief Switch main clock to clock Osc0 (crystal mode)
 * \param pm Base address of the Power Manager (i.e. &AVR32_PM)
 * \param fosc0 Oscillator 0 crystal frequency (Hz)
 * \param startup Crystal 0 startup time. Time is expressed in term of RCOsc periods (3-bit value)
 */
extern void pm_switch_to_osc0(volatile avr32_pm_t *pm, unsigned int fosc0, unsigned int startup);


#endif  // _PM_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影在线免费观看| 视频一区二区三区入口| 一区二区三区欧美日韩| 久久99精品久久久久久久久久久久 | 国产精品欧美一区二区三区| 亚洲成人免费观看| 97久久精品人人做人人爽50路| 91精品国产aⅴ一区二区| 亚洲三级在线观看| 国产成人久久精品77777最新版本| 欧美精品高清视频| 一卡二卡三卡日韩欧美| av在线免费不卡| 欧美—级在线免费片| 激情另类小说区图片区视频区| 精品视频色一区| 亚洲欧美二区三区| 99久久精品国产精品久久| 久久久久成人黄色影片| 老司机午夜精品| 日韩精品一区二区在线| 五月激情六月综合| 欧美日韩国产乱码电影| 亚洲一区在线观看视频| 在线国产亚洲欧美| 亚洲一区日韩精品中文字幕| 97超碰欧美中文字幕| 中文字幕第一区第二区| 成人免费看片app下载| 国产精品免费丝袜| 不卡欧美aaaaa| 亚洲色图欧美在线| 99精品久久久久久| 亚洲免费观看高清完整版在线观看熊| a级精品国产片在线观看| 国产精品免费视频观看| 色综合久久久久综合体桃花网| 自拍av一区二区三区| 91小视频在线免费看| 亚洲综合一区在线| 欧美精品v国产精品v日韩精品| 亚洲国产日韩一级| 91精品婷婷国产综合久久| 人人精品人人爱| 欧美精品一区二区三区一线天视频| 九九热在线视频观看这里只有精品| 欧美精品一区二区在线观看| 国产成人自拍高清视频在线免费播放| 亚洲国产精品ⅴa在线观看| 波波电影院一区二区三区| 亚洲欧美日韩成人高清在线一区| 在线一区二区视频| 全国精品久久少妇| 久久久99精品久久| 91女人视频在线观看| 亚洲电影在线免费观看| 日韩精品在线一区二区| 国产精品系列在线播放| 亚洲特黄一级片| 91精品视频网| 成人午夜伦理影院| 亚洲国产精品一区二区www| 日韩欧美一区二区在线视频| 国产福利电影一区二区三区| 亚洲一区视频在线| 精品国产凹凸成av人导航| 成人动漫精品一区二区| 亚洲123区在线观看| 欧美国产丝袜视频| 欧美日韩另类一区| 国产精品香蕉一区二区三区| 亚洲国产视频一区| 亚洲国产精品黑人久久久| 欧美片在线播放| 成人午夜私人影院| 免费在线观看精品| 亚洲日本在线a| 久久综合色婷婷| 欧美日韩中文另类| 不卡的电影网站| 久久成人免费网| 亚洲妇女屁股眼交7| 国产精品日韩精品欧美在线| 欧美日韩成人综合| 99国产精品国产精品毛片| 久久99国内精品| 午夜精品视频一区| 亚洲日本在线a| 国产欧美一区二区在线| 欧美一区二区福利视频| 91福利国产成人精品照片| 成人深夜在线观看| 国产精品亚洲专一区二区三区| 天天综合天天做天天综合| 成人免费在线播放视频| 久久理论电影网| 日韩一区二区免费在线观看| 色美美综合视频| 99这里只有精品| 成人免费毛片片v| 国产电影精品久久禁18| 久久不见久久见免费视频1| 图片区小说区区亚洲影院| 亚洲卡通动漫在线| 国产精品亲子乱子伦xxxx裸| 国产日韩欧美精品在线| 精品国产精品网麻豆系列 | 色综合天天综合网天天狠天天| 国产乱色国产精品免费视频| 韩国视频一区二区| 免费欧美在线视频| 日本aⅴ免费视频一区二区三区| 亚洲国产综合在线| 亚洲国产综合视频在线观看| 亚洲黄色小视频| 一区二区欧美视频| 一区二区三区日韩精品| 一区二区三区欧美激情| 亚洲成人一二三| 肉肉av福利一精品导航| 丝袜美腿成人在线| 日本欧美韩国一区三区| 麻豆成人免费电影| 国产一区二区三区免费看 | 中文天堂在线一区| 国产精品免费视频一区| 最新国产精品久久精品| 亚洲日本在线a| 亚洲a一区二区| 国内精品伊人久久久久av一坑| 激情小说亚洲一区| 粉嫩av一区二区三区粉嫩| 成人福利视频在线看| 色综合天天综合网天天狠天天| 色八戒一区二区三区| 91精品久久久久久久久99蜜臂| 欧美成人bangbros| 日本一区二区三区四区在线视频| 国产精品电影一区二区| 午夜精品久久久久| 久久av资源站| 91亚洲午夜精品久久久久久| 欧美人妖巨大在线| 久久久精品天堂| 亚洲精品免费看| 久草精品在线观看| 99视频精品在线| 91精品国产品国语在线不卡| 久久精品免视看| 亚洲成av人影院在线观看网| 国产精品一区二区三区99| 91免费版pro下载短视频| 欧美一区二区三区影视| 亚洲欧洲精品天堂一级 | 欧美一级电影网站| 国产网红主播福利一区二区| 亚洲激情成人在线| 久久av中文字幕片| 91高清在线观看| 国产欧美日韩另类视频免费观看| 亚洲小说春色综合另类电影| 国产大陆亚洲精品国产| 欧美视频一二三区| 欧美国产日韩精品免费观看| 日本va欧美va瓶| 91在线国产福利| 国产调教视频一区| 日本不卡一二三区黄网| 色婷婷综合久久久中文字幕| 精品1区2区在线观看| 午夜精品久久久久久久久久久| 成人黄色软件下载| 久久免费精品国产久精品久久久久| 亚洲国产aⅴ天堂久久| 成人免费av在线| 26uuu亚洲综合色| 免费精品视频在线| 欧美日韩一本到| 一区二区在线观看视频| 国产精品一二三| 久久亚洲免费视频| 日本成人在线看| 欧美剧情电影在线观看完整版免费励志电影| 国产日韩影视精品| 国产精品一区二区在线观看网站| 日韩欧美国产综合一区 | 夜夜夜精品看看| 91麻豆国产在线观看| 国产精品色在线| 国产jizzjizz一区二区| 国产亚洲精品资源在线26u| 毛片一区二区三区| 欧美成人一级视频| 美女任你摸久久| 精品国产乱码久久久久久老虎| 美女尤物国产一区| 欧美成人vps| 国产一区二区免费看| 久久久久久一二三区| 精品一区二区久久|