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

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

?? watchdog.c

?? FreeRTOS V4.2.1,增加了AVR32 UC3 和 LPC2368 的支持
?? C
?? 第 1 頁 / 共 2 頁
字號:
//*****************************************************************************
//
// watchdog.c - Driver for the Watchdog Timer Module.
//
// Copyright (c) 2005,2006 Luminary Micro, Inc.  All rights reserved.
//
// Software License Agreement
//
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
// exclusively on LMI's Stellaris Family of microcontroller products.
//
// The software is owned by LMI and/or its suppliers, and is protected under
// applicable copyright laws.  All rights are reserved.  Any use in violation
// of the foregoing restrictions may subject the user to criminal sanctions
// under applicable laws, as well as to civil liability for the breach of the
// terms and conditions of this license.
//
// THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
//
// This is part of revision 991 of the Stellaris Driver Library.
//
//*****************************************************************************

//*****************************************************************************
//
//! \addtogroup watchdog_api
//! @{
//
//*****************************************************************************

#include "../hw_ints.h"
#include "../hw_memmap.h"
#include "../hw_types.h"
#include "../hw_watchdog.h"
#include "debug.h"
#include "interrupt.h"
#include "watchdog.h"

//*****************************************************************************
//
//! Determines if the watchdog timer is enabled.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! This will check to see if the watchdog timer is enabled.
//!
//! \return Returns \b true if the watchdog timer is enabled, and \b false
//! if it is not.
//
//*****************************************************************************
#if defined(GROUP_running) || defined(BUILD_ALL) || defined(DOXYGEN)
tBoolean
WatchdogRunning(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // See if the watchdog timer module is enabled, and return.
    //
    return(HWREG(ulBase + WDT_O_CTL) & WDT_CTL_INTEN);
}
#endif

//*****************************************************************************
//
//! Enables the watchdog timer.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! This will enable the watchdog timer counter and interrupt.
//!
//! \note This function will have no effect if the watchdog timer has
//! been locked.
//!
//! \sa WatchdogLock(), WatchdogUnlock()
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_enable) || defined(BUILD_ALL) || defined(DOXYGEN)
void
WatchdogEnable(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Enable the watchdog timer module.
    //
    HWREG(ulBase + WDT_O_CTL) |= WDT_CTL_INTEN;
}
#endif

//*****************************************************************************
//
//! Enables the watchdog timer reset.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! Enables the capability of the watchdog timer to issue a reset to the
//! processor upon a second timeout condition.
//!
//! \note This function will have no effect if the watchdog timer has
//! been locked.
//!
//! \sa WatchdogLock(), WatchdogUnlock()
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_resetenable) || defined(BUILD_ALL) || defined(DOXYGEN)
void
WatchdogResetEnable(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Enable the watchdog reset.
    //
    HWREG(ulBase + WDT_O_CTL) |= WDT_CTL_RESEN;
}
#endif

//*****************************************************************************
//
//! Disables the watchdog timer reset.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! Disables the capability of the watchdog timer to issue a reset to the
//! processor upon a second timeout condition.
//!
//! \note This function will have no effect if the watchdog timer has
//! been locked.
//!
//! \sa WatchdogLock(), WatchdogUnlock()
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_resetdisable) || defined(BUILD_ALL) || defined(DOXYGEN)
void
WatchdogResetDisable(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Disable the watchdog reset.
    //
    HWREG(ulBase + WDT_O_CTL) &= ~(WDT_CTL_RESEN);
}
#endif

//*****************************************************************************
//
//! Enables the watchdog timer lock mechanism.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! Locks out write access to the watchdog timer configuration registers.
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_lock) || defined(BUILD_ALL) || defined(DOXYGEN)
void
WatchdogLock(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Lock out watchdog register writes.  Writing anything to the WDT_O_LOCK
    // register causes the lock to go into effect.
    //
    HWREG(ulBase + WDT_O_LOCK) = WDT_LOCK_LOCKED;
}
#endif

//*****************************************************************************
//
//! Disables the watchdog timer lock mechanism.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! Enables write access to the watchdog timer configuration registers.
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_unlock) || defined(BUILD_ALL) || defined(DOXYGEN)
void
WatchdogUnlock(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Unlock watchdog register writes.
    //
    HWREG(ulBase + WDT_O_LOCK) = WDT_LOCK_UNLOCK;
}
#endif

//*****************************************************************************
//
//! Gets the state of the watchdog timer lock mechanism.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! Returns the lock state of the watchdog timer registers.
//!
//! \return Returns \b true if the watchdog timer registers are locked, and
//! \b false if they are not locked.
//
//*****************************************************************************
#if defined(GROUP_lockstate) || defined(BUILD_ALL) || defined(DOXYGEN)
tBoolean
WatchdogLockState(unsigned long ulBase)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Get the lock state.
    //
    return((HWREG(ulBase + WDT_O_LOCK) == WDT_LOCK_LOCKED) ? true : false);
}
#endif

//*****************************************************************************
//
//! Sets the watchdog timer reload value.
//!
//! \param ulBase is the base address of the watchdog timer module.
//! \param ulLoadVal is the load value for the watchdog timer.
//!
//! This function sets the value to load into the watchdog timer when the count
//! reaches zero for the first time; if the watchdog timer is running when this
//! function is called, then the value will be immediately loaded into the
//! watchdog timer counter. If the parameter \e ulLoadVal is 0, then an
//! interrupt is immediately generated.
//!
//! \note This function will have no effect if the watchdog timer has
//! been locked.
//!
//! \sa WatchdogLock(), WatchdogUnlock(), WatchdogReloadGet()
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_reloadset) || defined(BUILD_ALL) || defined(DOXYGEN)
void
WatchdogReloadSet(unsigned long ulBase, unsigned long ulLoadVal)
{
    //
    // Check the arguments.
    //
    ASSERT(ulBase == WATCHDOG_BASE);

    //
    // Set the load register.
    //
    HWREG(ulBase + WDT_O_LOAD) = ulLoadVal;
}
#endif

//*****************************************************************************
//
//! Gets the watchdog timer reload value.
//!
//! \param ulBase is the base address of the watchdog timer module.
//!
//! This function gets the value that is loaded into the watchdog timer when
//! the count reaches zero for the first time.
//!

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乡下勾搭老头1| 51午夜精品国产| 欧美日韩视频在线一区二区| 日韩免费看的电影| 亚洲少妇30p| 99久久国产综合精品色伊| 欧美巨大另类极品videosbest| 久久精品一区二区三区不卡| 婷婷国产在线综合| 日本韩国一区二区三区视频| 久久精品人人做人人爽97| 日韩高清不卡一区| 在线观看亚洲一区| 亚洲欧洲美洲综合色网| 精品写真视频在线观看| 欧美日韩国产a| 亚洲三级在线观看| 成人免费va视频| 久久精品日韩一区二区三区| 久久国产乱子精品免费女| 欧美日韩成人高清| 亚洲成av人片| 欧美日韩亚洲综合一区| 午夜精品久久久| 欧美在线制服丝袜| 亚洲午夜日本在线观看| 精品视频1区2区| 亚洲线精品一区二区三区| 色视频欧美一区二区三区| 亚洲欧洲一区二区在线播放| av爱爱亚洲一区| 亚洲欧洲日韩在线| 91小视频免费看| 亚洲欧美日韩电影| 色天使色偷偷av一区二区| 一区二区三区在线视频播放| 在线一区二区三区做爰视频网站| 亚洲人亚洲人成电影网站色| 色婷婷综合激情| 亚洲一二三四在线观看| 欧美在线你懂的| 日韩国产欧美在线播放| 日韩欧美电影一二三| 激情五月播播久久久精品| 久久色视频免费观看| 成人精品高清在线| 亚洲日本中文字幕区| 欧美亚洲禁片免费| 91视频.com| 午夜精品久久久久久久久久久 | 欧美精品久久久久久久多人混战| 亚洲成人免费视频| 亚洲电影欧美电影有声小说| 亚洲第一成年网| 欧美日韩免费一区二区三区视频| 91精品国产入口| 国产一区二区伦理| 亚洲另类春色国产| 欧美一卡二卡在线| 国产二区国产一区在线观看| 亚洲人成人一区二区在线观看| 欧美日韩日日摸| 国产一区二区三区在线看麻豆| 亚洲欧美在线视频观看| 91精品婷婷国产综合久久性色| 狠狠色丁香九九婷婷综合五月| 欧美韩日一区二区三区四区| 欧美日韩一区二区三区高清| 国产精品一品二品| 日韩专区一卡二卡| 婷婷中文字幕综合| 国产日韩v精品一区二区| 欧美日韩1234| av色综合久久天堂av综合| 亚洲成av人影院| 欧美国产一区视频在线观看| 91麻豆精品国产综合久久久久久 | 国产专区综合网| 夜夜爽夜夜爽精品视频| www日韩大片| 欧美最猛性xxxxx直播| 国产福利精品一区| 人人精品人人爱| 亚洲综合一二区| 中文字幕av一区二区三区免费看 | 另类欧美日韩国产在线| 伊人夜夜躁av伊人久久| 欧美国产综合色视频| 日韩精品一区二区三区四区视频 | 91视频在线观看| 国产一区二区福利| 免费成人美女在线观看.| 亚洲激情av在线| 欧美激情在线看| 久久久美女毛片| 欧美成人video| 91麻豆精品国产| 欧美探花视频资源| 91丨porny丨蝌蚪视频| 成人国产精品视频| 国产福利电影一区二区三区| 看电视剧不卡顿的网站| 日韩二区三区在线观看| 成人国产视频在线观看| 国产成人一区二区精品非洲| 久久99这里只有精品| 奇米影视一区二区三区| 日韩高清不卡在线| 奇米精品一区二区三区在线观看| 午夜精品一区在线观看| 日本中文字幕一区二区有限公司| 五月综合激情日本mⅴ| 亚洲一区在线观看免费| 亚洲综合久久久久| 亚洲图片欧美色图| 三级成人在线视频| 蜜臀久久久久久久| 久久爱www久久做| 国产酒店精品激情| 不卡的av网站| 91网站视频在线观看| 日本久久一区二区| 欧美精品少妇一区二区三区| 精品视频一区三区九区| 欧美精品aⅴ在线视频| 日韩久久精品一区| 久久精品欧美一区二区三区麻豆| 国产调教视频一区| 亚洲人午夜精品天堂一二香蕉| 一区二区激情小说| 视频一区视频二区中文字幕| 狂野欧美性猛交blacked| 国产精品一区二区果冻传媒| 国产91精品一区二区| 一本一道波多野结衣一区二区| 91国产福利在线| 欧美一三区三区四区免费在线看| 日韩欧美精品三级| 国产精品国产三级国产aⅴ入口| 18欧美乱大交hd1984| 亚洲成a人v欧美综合天堂下载| 秋霞电影网一区二区| 国产成人亚洲综合a∨婷婷| 91麻豆福利精品推荐| 日韩欧美色综合网站| 国产精品久久久久久久久免费桃花 | 日韩色在线观看| 中文字幕一区二区5566日韩| 午夜伦理一区二区| 成人免费观看av| 欧美精品 日韩| 久久精品人人做人人爽人人| 亚洲一区视频在线观看视频| 狠狠色狠狠色综合| 91久久国产最好的精华液| 日韩欧美国产小视频| 亚洲欧美日韩国产中文在线| 美国精品在线观看| 在线观看91视频| 国产欧美一区在线| 日本不卡一二三区黄网| 91女厕偷拍女厕偷拍高清| 日韩视频永久免费| 亚洲主播在线播放| 国产成人免费视频网站| 6080日韩午夜伦伦午夜伦| 亚洲欧美在线高清| 狠狠v欧美v日韩v亚洲ⅴ| 精品视频1区2区| 亚洲欧美一区二区视频| 麻豆极品一区二区三区| 欧美午夜寂寞影院| 亚洲乱码国产乱码精品精小说 | 99久久99久久精品国产片果冻 | 91精品免费在线观看| 中文字幕一区二区三| 国产美女精品人人做人人爽| 69av一区二区三区| 亚洲一区电影777| 色欧美日韩亚洲| 综合中文字幕亚洲| 大白屁股一区二区视频| 久久综合久久99| 日韩av电影免费观看高清完整版 | 在线观看一区二区视频| 日韩理论片中文av| 成人h动漫精品| 中文字幕制服丝袜成人av| 国产精品 日产精品 欧美精品| 欧美一区三区四区| 青娱乐精品在线视频| 日韩午夜激情视频| 老司机精品视频导航| 欧美va亚洲va| 国产永久精品大片wwwapp| 久久久久久久久免费| 国产美女视频一区| 国产精品无码永久免费888| 国产69精品久久久久777| 中文字幕不卡在线|