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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysctl.c

?? freertosV4.40 是一種small的嵌入式系統(tǒng)。利于嵌入式開好者入門學習嵌入式操作系統(tǒng)。通過對于源碼的學習可以很好的掌握freertos的運行機制。
?? C
?? 第 1 頁 / 共 5 頁
字號:
//! \b SYSCTL_LDOCFG_ARST or \b SYSCTL_LDOCFG_NORST.
//!
//! This function allows the LDO to be configured to cause a processor reset
//! when the output voltage becomes unregulated.
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_ldoconfigset) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlLDOConfigSet(unsigned long ulConfig)
{
    //
    // Check hte arguments.
    //
    ASSERT((ulConfig == SYSCTL_LDOCFG_ARST) ||
           (ulConfig == SYSCTL_LDOCFG_NORST));

    //
    // Set the reset control as requested.
    //
    HWREG(SYSCTL_LDOARST) = ulConfig;
}
#endif

//*****************************************************************************
//
//! Resets the device.
//!
//! This function will perform a software reset of the entire device.  The
//! processor and all peripherals will be reset and all device registers will
//! return to their default values (with the exception of the reset cause
//! register, which will maintain its current value but have the software reset
//! bit set as well).
//!
//! \return This function does not return.
//
//*****************************************************************************
#if defined(GROUP_reset) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlReset(void)
{
    //
    // Perform a software reset request.  This will cause the device to reset,
    // no further code will be executed.
    //
    HWREG(NVIC_APINT) = NVIC_APINT_VECTKEY | NVIC_APINT_SYSRESETREQ;

    //
    // The device should have reset, so this should never be reached.  Just in
    // case, loop forever.
    //
    while(1)
    {
    }
}
#endif

//*****************************************************************************
//
//! Puts the processor into sleep mode.
//!
//! This function places the processor into sleep mode; it will not return
//! until the processor returns to run mode.  The peripherals that are enabled
//! via SysCtlPeripheralSleepEnable() continue to operate and can wake up the
//! processor (if automatic clock gating is enabled with
//! SysCtlPeripheralClockGating(), otherwise all peripherals continue to
//! operate).
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_sleep) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlSleep(void)
{
    //
    // Wait for an interrupt.
    //
    CPUwfi();
}
#endif

//*****************************************************************************
//
//! Puts the processor into deep-sleep mode.
//!
//! This function places the processor into deep-sleep mode; it will not return
//! until the processor returns to run mode.  The peripherals that are enabled
//! via SysCtlPeripheralDeepSleepEnable() continue to operate and can wake up
//! the processor (if automatic clock gating is enabled with
//! SysCtlPeripheralClockGating(), otherwise all peripherals continue to
//! operate).
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_deepsleep) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlDeepSleep(void)
{
    //
    // Enable deep-sleep.
    //
    HWREG(NVIC_SYS_CTRL) |= NVIC_SYS_CTRL_SLEEPDEEP;

    //
    // Wait for an interrupt.
    //
    CPUwfi();

    //
    // Disable deep-sleep so that a future sleep will work correctly.
    //
    HWREG(NVIC_SYS_CTRL) &= ~(NVIC_SYS_CTRL_SLEEPDEEP);
}
#endif

//*****************************************************************************
//
//! Gets the reason for a reset.
//!
//! This function will return the reason(s) for a reset.  Since the reset
//! reasons are sticky until either cleared by software or an external reset,
//! multiple reset reasons may be returned if multiple resets have occurred.
//! The reset reason will be a logical OR of \b SYSCTL_CAUSE_LDO,
//! \b SYSCTL_CAUSE_SW, \b SYSCTL_CAUSE_WDOG, \b SYSCTL_CAUSE_BOR,
//! \b SYSCTL_CAUSE_POR, and/or \b SYSCTL_CAUSE_EXT.
//!
//! \return The reason(s) for a reset.
//
//*****************************************************************************
#if defined(GROUP_resetcauseget) || defined(BUILD_ALL) || defined(DOXYGEN)
unsigned long
SysCtlResetCauseGet(void)
{
    //
    // Return the reset reasons.
    //
    return(HWREG(SYSCTL_RESC));
}
#endif

//*****************************************************************************
//
//! Clears reset reasons.
//!
//! \param ulCauses are the reset causes to be cleared; must be a logical OR of
//! \b SYSCTL_CAUSE_LDO, \b SYSCTL_CAUSE_SW, \b SYSCTL_CAUSE_WDOG,
//! \b SYSCTL_CAUSE_BOR, \b SYSCTL_CAUSE_POR, and/or \b SYSCTL_CAUSE_EXT.
//!
//! This function clears the specified sticky reset reasons.  Once cleared,
//! another reset for the same reason can be detected, and a reset for a
//! different reason can be distinguished (instead of having two reset causes
//! set).  If the reset reason is used by an application, all reset causes
//! should be cleared after they are retrieved with SysCtlResetCauseGet().
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_resetcauseclear) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlResetCauseClear(unsigned long ulCauses)
{
    //
    // Clear the given reset reasons.
    //
    HWREG(SYSCTL_RESC) &= ~(ulCauses);
}
#endif

//*****************************************************************************
//
//! Configures the brown-out control.
//!
//! \param ulConfig is the desired configuration of the brown-out control.
//! Must be the logical OR of \b SYSCTL_BOR_RESET and/or
//! \b SYSCTL_BOR_RESAMPLE.
//! \param ulDelay is the number of internal oscillator cycles to wait before
//! resampling an asserted brown-out signal.  This value only has meaning when
//! \b SYSCTL_BOR_RESAMPLE is set and must be less than 8192.
//!
//! This function configures how the brown-out control operates.  It can detect
//! a brown-out by looking at only the brown-out output, or it can wait for it
//! to be active for two consecutive samples separated by a configurable time.
//! When it detects a brown-out condition, it can either reset the device or
//! generate a processor interrupt.
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_brownoutconfigset) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlBrownOutConfigSet(unsigned long ulConfig, unsigned long ulDelay)
{
    //
    // Check the arguments.
    //
    ASSERT(!(ulConfig & ~(SYSCTL_BOR_RESET | SYSCTL_BOR_RESAMPLE)));
    ASSERT(ulDelay < 8192);

    //
    // Configure the brown-out reset control.
    //
    HWREG(SYSCTL_PBORCTL) = (ulDelay << SYSCTL_PBORCTL_BOR_SH) | ulConfig;
}
#endif

//*****************************************************************************
//
//! Sets the clocking of the device.
//!
//! \param ulConfig is the required configuration of the device clocking.
//!
//! This function configures the clocking of the device.  The input crystal
//! frequency, oscillator to be used, use of the PLL, and the system clock
//! divider are all configured with this function.
//!
//! The \b ulConfig parameter is the logical OR of several different values,
//! many of which are grouped into sets where only one can be chosen.
//!
//! The system clock divider is chosen with one of the following values:
//! \b SYSCTL_SYSDIV_1, \b SYSCTL_SYSDIV_2, \b SYSCTL_SYSDIV_3,
//! \b SYSCTL_SYSDIV_4, \b SYSCTL_SYSDIV_5, \b SYSCTL_SYSDIV_6,
//! \b SYSCTL_SYSDIV_7, \b SYSCTL_SYSDIV_8, \b SYSCTL_SYSDIV_9,
//! \b SYSCTL_SYSDIV_10, \b SYSCTL_SYSDIV_11, \b SYSCTL_SYSDIV_12,
//! \b SYSCTL_SYSDIV_13, \b SYSCTL_SYSDIV_14, \b SYSCTL_SYSDIV_15, or
//! \b SYSCTL_SYSDIV_16.
//!
//! The use of the PLL is chosen with either \b SYSCTL_USE_PLL or
//! \b SYSCTL_USE_OSC.
//!
//! The external crystal frequency is chosen with one of the following values:
//! \b SYSCTL_XTAL_3_57MHZ, \b SYSCTL_XTAL_3_68MHZ, \b SYSCTL_XTAL_4MHZ,
//! \b SYSCTL_XTAL_4_09MHZ, \b SYSCTL_XTAL_4_91MHZ, \b SYSCTL_XTAL_5MHZ,
//! \b SYSCTL_XTAL_5_12MHZ, \b SYSCTL_XTAL_6MHZ, \b SYSCTL_XTAL_6_14MHZ,
//! \b SYSCTL_XTAL_7_37MHZ, \b SYSCTL_XTAL_8MHZ, or \b SYSCTL_XTAL_8_19MHZ.
//!
//! The oscillator source is chosen with one of the following values:
//! \b SYSCTL_OSC_MAIN, \b SYSCTL_OSC_INT, or \b SYSCTL_OSC_INT4.
//!
//! The internal and main oscillators are disabled with the
//! \b SYSCTL_INT_OSC_DIS and \b SYSCTL_MAIN_OSC_DIS flags, respectively.
//! The external oscillator must be enabled in order to use an external clock
//! source.  Note that attempts to disable the oscillator used to clock the
//! device will be prevented by the hardware.
//!
//! To clock the system from an external source (such as an external crystal
//! oscillator), use \b SYSCTL_USE_OSC \b | \b SYSCTL_OSC_MAIN.  To clock the
//! system from the main oscillator, use \b SYSCTL_USE_OSC \b |
//! \b SYSCTL_OSC_MAIN.  To clock the system from the PLL, use
//! \b SYSCTL_USE_PLL \b | \b SYSCTL_OSC_MAIN, and select the appropriate
//! crystal with one of the \b SYSCTL_XTAL_xxx values.
//!
//! \note If selecting the PLL as the system clock source (i.e. via
//! \b SYSCTL_USE_PLL), this function will poll the PLL lock interrupt to
//! determine when the PLL has locked.  If an interrupt handler for the
//! system control interrupt is in place, and it responds to and clears the
//! PLL lock interrupt, this function will delay until its timeout has occurred
//! instead of completing as soon as PLL lock is achieved.
//!
//! \return None.
//
//*****************************************************************************
#if defined(GROUP_clockset) || defined(BUILD_ALL) || defined(DOXYGEN)
void
SysCtlClockSet(unsigned long ulConfig)
{
    volatile unsigned long ulDelay;
    unsigned long ulRCC;

    //
    // Get the current value of the RCC register.
    //
    ulRCC = HWREG(SYSCTL_RCC);

    //
    // Bypass the PLL and system clock dividers for now.
    //
    ulRCC |= SYSCTL_RCC_BYPASS;
    ulRCC &= ~(SYSCTL_RCC_USE_SYSDIV);

    //
    // Write the new RCC value.
    //
    HWREG(SYSCTL_RCC) = ulRCC;

    //
    // Make sure that the PLL and system clock dividers are bypassed for now.
    //
    ulRCC |= SYSCTL_RCC_BYPASS;
    ulRCC &= ~(SYSCTL_RCC_USE_SYSDIV);

    //
    // Make sure that the required oscillators are enabled.  For now, the
    // previously enabled oscillators must be enabled along with the newly
    // requested oscillators.
    //
    ulRCC &= (~(SYSCTL_RCC_IOSCDIS | SYSCTL_RCC_MOSCDIS) |
              (ulConfig & (SYSCTL_RCC_IOSCDIS | SYSCTL_RCC_MOSCDIS)));

    //
    // Set the new crystal value, oscillator source, and PLL configuration.
    //
    ulRCC &= ~(SYSCTL_RCC_XTAL_MASK | SYSCTL_RCC_OSCSRC_MASK |
               SYSCTL_RCC_PWRDN | SYSCTL_RCC_OE);
    ulRCC |= ulConfig & (SYSCTL_RCC_XTAL_MASK | SYSCTL_RCC_OSCSRC_MASK |
                         SYSCTL_RCC_PWRDN | SYSCTL_RCC_OE);

    //
    // Clear the PLL lock interrupt.
    //
    HWREG(SYSCTL_MISC) = SYSCTL_INT_PLL_LOCK;

    //
    // Write the new RCC value.
    //
    HWREG(SYSCTL_RCC) = ulRCC;

    //
    // Wait for a bit so that new crystal value and oscillator source can take
    // effect.  One of the oscillators may need to be started as well.
    //
    for(ulDelay = 0; ulDelay < 16; ulDelay++)
    {
    }

    //
    // Disable the appropriate oscillators.
    //
    ulRCC &= ~(SYSCTL_RCC_IOSCDIS | SYSCTL_RCC_MOSCDIS);
    ulRCC |= ulConfig & (SYSCTL_RCC_IOSCDIS | SYSCTL_RCC_MOSCDIS);

    //
    // Write the new RCC value.
    //
    HWREG(SYSCTL_RCC) = ulRCC;

    //
    // Set the requested system divider.  This will not get written
    // immediately.
    //
    ulRCC &= ~(SYSCTL_RCC_SYSDIV_MASK | SYSCTL_RCC_USE_SYSDIV);
    ulRCC |= ulConfig & (SYSCTL_RCC_SYSDIV_MASK | SYSCTL_RCC_USE_SYSDIV);

    //
    // See if the PLL output is being used to clock the system.
    //
    if(!(ulConfig & SYSCTL_RCC_BYPASS))
    {
        //
        // Wait until the PLL has locked.
        //
        for(ulDelay = 32768; ulDelay > 0; ulDelay--)
        {
            if(HWREG(SYSCTL_RIS) & SYSCTL_INT_PLL_LOCK)
            {
                break;
            }
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米精品一区二区三区在线观看| 99精品欧美一区二区蜜桃免费| 91福利在线观看| 亚洲中国最大av网站| 91免费在线播放| 伊人性伊人情综合网| 欧美日韩国产精选| 久久99精品国产91久久来源| 国产亚洲成aⅴ人片在线观看| 国产乱子轮精品视频| 国产精品色哟哟网站| 91麻豆自制传媒国产之光| 天堂va蜜桃一区二区三区| 久久久久久黄色| 色综合欧美在线| 激情深爱一区二区| 亚洲午夜日本在线观看| 精品99久久久久久| 9人人澡人人爽人人精品| 日日摸夜夜添夜夜添国产精品 | 欧美一区二区三区四区五区| 国产乱码精品一区二区三区av| 国产精品美女视频| 欧美一区二区视频网站| 不卡高清视频专区| 三级不卡在线观看| 国产精品免费久久| 国产视频一区在线观看| 欧美日韩成人综合在线一区二区| 国产精品99久久久久| 日韩av一区二区在线影视| 一二三区精品视频| 亚洲国产成人在线| 久久久综合视频| 日韩欧美国产精品| 欧美一区二区在线不卡| 欧美影院精品一区| 欧美亚洲禁片免费| 色国产综合视频| 91亚洲精品久久久蜜桃网站 | 国产成人av在线影院| 美女一区二区视频| 日韩高清一级片| 日韩不卡在线观看日韩不卡视频| 亚洲综合在线视频| 亚洲成人激情自拍| 丝袜国产日韩另类美女| 日韩高清中文字幕一区| 日本最新不卡在线| 美女性感视频久久| 国产中文一区二区三区| 粉嫩av亚洲一区二区图片| 国产在线乱码一区二区三区| 国产精品一级二级三级| 成人禁用看黄a在线| 99视频国产精品| 欧美精品777| 亚洲国产高清不卡| 亚洲另类春色校园小说| 日韩高清不卡一区二区三区| 精品一区二区三区在线观看 | 精品国产髙清在线看国产毛片| 久久久久九九视频| 亚洲午夜久久久久久久久电影院| 一区二区三区成人| 在线精品视频免费观看| 久久综合色婷婷| 石原莉奈在线亚洲二区| 不卡一区二区三区四区| 欧美剧在线免费观看网站| 国产精品女主播av| 免费人成在线不卡| 91天堂素人约啪| 久久综合色播五月| 肉色丝袜一区二区| 91理论电影在线观看| 久久久www免费人成精品| 亚洲国产精品久久久久婷婷884| 国产成人免费在线观看不卡| 3d动漫精品啪啪1区2区免费| 日韩美女久久久| 成人中文字幕合集| 精品国产三级a在线观看| 一区二区在线观看免费| 不卡一二三区首页| 久久久99久久| 国产91对白在线观看九色| 欧美一级理论片| 日韩中文字幕区一区有砖一区 | 欧美日韩亚洲综合在线| 亚洲女人小视频在线观看| 91美女在线视频| 亚洲另类在线一区| 欧美三级韩国三级日本三斤| 亚洲午夜一区二区| 欧美性xxxxxxxx| 一区二区高清在线| 欧美日韩性生活| 日韩黄色免费电影| 欧美成人官网二区| 国产成人精品aa毛片| 亚洲人xxxx| 日韩视频免费直播| 国产自产视频一区二区三区| 国产精品国模大尺度视频| 欧美亚洲国产一区二区三区| 美女诱惑一区二区| 亚洲色图欧洲色图婷婷| 欧美精品精品一区| 国产麻豆91精品| 亚洲一区二区三区影院| www国产亚洲精品久久麻豆| 成人一区二区视频| 亚洲成人免费看| 国产精品三级久久久久三级| 91精品视频网| 91丝袜美女网| 国产乱人伦偷精品视频不卡| 亚洲永久精品国产| 中文幕一区二区三区久久蜜桃| 欧美在线不卡一区| 国产suv精品一区二区6| 天堂午夜影视日韩欧美一区二区| 国产精品天美传媒沈樵| 欧美一区二区三区免费大片| 国产成人aaa| 黑人精品欧美一区二区蜜桃| 亚洲sss视频在线视频| 中文字幕一区二区三区不卡在线| 精品日产卡一卡二卡麻豆| 欧美图片一区二区三区| 97aⅴ精品视频一二三区| 成人精品在线视频观看| 国产精品亚洲一区二区三区妖精| 日韩va欧美va亚洲va久久| 亚洲成va人在线观看| 一区二区三区资源| 中文字幕一区二区三区在线观看 | 91丨九色丨尤物| 9i看片成人免费高清| 成人午夜av影视| www.日韩av| 一本一道久久a久久精品| 丰满放荡岳乱妇91ww| 国产精品99久久久久久似苏梦涵 | 99久久99久久精品免费观看 | av影院午夜一区| 99免费精品视频| 欧美性三三影院| 日韩一区二区免费视频| 精品三级在线观看| 国产免费成人在线视频| 国产精品不卡在线| 一个色在线综合| 韩国av一区二区| 99精品久久免费看蜜臀剧情介绍| 99精品桃花视频在线观看| 欧美日韩高清影院| 久久久青草青青国产亚洲免观| 中文字幕不卡一区| 亚洲国产成人精品视频| 国产精品一级二级三级| 一本到三区不卡视频| 欧美精品一区二区在线播放| 亚洲男女毛片无遮挡| 伦理电影国产精品| 色噜噜狠狠一区二区三区果冻| 亚洲乱码日产精品bd| 开心九九激情九九欧美日韩精美视频电影 | 欧美网站一区二区| 国产欧美日韩中文久久| 日韩极品在线观看| 91丝袜高跟美女视频| 欧美精品一区二区三区高清aⅴ| 亚洲一二三区视频在线观看| 国产精一区二区三区| 日韩久久免费av| 麻豆精品在线视频| 欧美日韩一区二区三区不卡| 最新国产の精品合集bt伙计| 精品无人码麻豆乱码1区2区| 69久久夜色精品国产69蝌蚪网| 中文字幕一区二区5566日韩| 国产一区二区三区在线观看免费| 欧美日韩不卡一区二区| 亚洲精品免费在线观看| 91国偷自产一区二区三区观看 | 国产欧美日韩另类视频免费观看| 蜜臀av一区二区在线免费观看| 色激情天天射综合网| 91精品免费在线观看| 久久久久久久网| 色综合天天天天做夜夜夜夜做| 亚洲国产综合在线| 久久久亚洲欧洲日产国码αv| 色综合久久久久综合体| 性做久久久久久免费观看欧美| 91精品国产综合久久蜜臀| 久久精品国产77777蜜臀| 中文文精品字幕一区二区|