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

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

?? core_cminstr.h

?? stm32f0固件庫
?? H
?? 第 1 頁 / 共 2 頁
字號:
/**************************************************************************//**
 * @file     core_cmInstr.h
 * @brief    CMSIS Cortex-M Core Instruction Access Header File
 * @version  V2.10
 * @date     19. July 2011
 *
 * @note
 * Copyright (C) 2009-2011 ARM Limited. All rights reserved.
 *
 * @par
 * ARM Limited (ARM) is supplying this software for use with Cortex-M 
 * processor based microcontrollers.  This file can be freely distributed 
 * within development tools that are supporting such ARM based processors. 
 *
 * @par
 * 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.
 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
 *
 ******************************************************************************/

#ifndef __CORE_CMINSTR_H
#define __CORE_CMINSTR_H


/* ##########################  Core Instruction Access  ######################### */
/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
  Access to dedicated instructions
  @{
*/

#if   defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */

#if (__ARMCC_VERSION < 400677)
  #error "Please use ARM Compiler Toolchain V4.0.677 or later!"
#endif


/** \brief  No Operation

    No Operation does nothing. This instruction can be used for code alignment purposes.
 */
#define __NOP                             __nop


/** \brief  Wait For Interrupt

    Wait For Interrupt is a hint instruction that suspends execution
    until one of a number of events occurs.
 */
#define __WFI                             __wfi


/** \brief  Wait For Event

    Wait For Event is a hint instruction that permits the processor to enter
    a low-power state until one of a number of events occurs.
 */
#define __WFE                             __wfe


/** \brief  Send Event

    Send Event is a hint instruction. It causes an event to be signaled to the CPU.
 */
#define __SEV                             __sev


/** \brief  Instruction Synchronization Barrier

    Instruction Synchronization Barrier flushes the pipeline in the processor, 
    so that all instructions following the ISB are fetched from cache or 
    memory, after the instruction has been completed.
 */
#define __ISB()                           __isb(0xF)


/** \brief  Data Synchronization Barrier

    This function acts as a special kind of Data Memory Barrier. 
    It completes when all explicit memory accesses before this instruction complete.
 */
#define __DSB()                           __dsb(0xF)


/** \brief  Data Memory Barrier

    This function ensures the apparent order of the explicit memory operations before 
    and after the instruction, without ensuring their completion.
 */
#define __DMB()                           __dmb(0xF)


/** \brief  Reverse byte order (32 bit)

    This function reverses the byte order in integer value.

    \param [in]    value  Value to reverse
    \return               Reversed value
 */
#define __REV                             __rev


/** \brief  Reverse byte order (16 bit)

    This function reverses the byte order in two unsigned short values.

    \param [in]    value  Value to reverse
    \return               Reversed value
 */
static __INLINE __ASM uint32_t __REV16(uint32_t value)
{
  rev16 r0, r0
  bx lr
}


/** \brief  Reverse byte order in signed short value

    This function reverses the byte order in a signed short value with sign extension to integer.

    \param [in]    value  Value to reverse
    \return               Reversed value
 */
static __INLINE __ASM int32_t __REVSH(int32_t value)
{
  revsh r0, r0
  bx lr
}


#if       (__CORTEX_M >= 0x03)

/** \brief  Reverse bit order of value

    This function reverses the bit order of the given value.

    \param [in]    value  Value to reverse
    \return               Reversed value
 */
#define __RBIT                            __rbit


/** \brief  LDR Exclusive (8 bit)

    This function performs a exclusive LDR command for 8 bit value.

    \param [in]    ptr  Pointer to data
    \return             value of type uint8_t at (*ptr)
 */
#define __LDREXB(ptr)                     ((uint8_t ) __ldrex(ptr))


/** \brief  LDR Exclusive (16 bit)

    This function performs a exclusive LDR command for 16 bit values.

    \param [in]    ptr  Pointer to data
    \return        value of type uint16_t at (*ptr)
 */
#define __LDREXH(ptr)                     ((uint16_t) __ldrex(ptr))


/** \brief  LDR Exclusive (32 bit)

    This function performs a exclusive LDR command for 32 bit values.

    \param [in]    ptr  Pointer to data
    \return        value of type uint32_t at (*ptr)
 */
#define __LDREXW(ptr)                     ((uint32_t ) __ldrex(ptr))


/** \brief  STR Exclusive (8 bit)

    This function performs a exclusive STR command for 8 bit values.

    \param [in]  value  Value to store
    \param [in]    ptr  Pointer to location
    \return          0  Function succeeded
    \return          1  Function failed
 */
#define __STREXB(value, ptr)              __strex(value, ptr)


/** \brief  STR Exclusive (16 bit)

    This function performs a exclusive STR command for 16 bit values.

    \param [in]  value  Value to store
    \param [in]    ptr  Pointer to location
    \return          0  Function succeeded
    \return          1  Function failed
 */
#define __STREXH(value, ptr)              __strex(value, ptr)


/** \brief  STR Exclusive (32 bit)

    This function performs a exclusive STR command for 32 bit values.

    \param [in]  value  Value to store
    \param [in]    ptr  Pointer to location
    \return          0  Function succeeded
    \return          1  Function failed
 */
#define __STREXW(value, ptr)              __strex(value, ptr)


/** \brief  Remove the exclusive lock

    This function removes the exclusive lock which is created by LDREX.

 */
#define __CLREX                           __clrex


/** \brief  Signed Saturate

    This function saturates a signed value.

    \param [in]  value  Value to be saturated
    \param [in]    sat  Bit position to saturate to (1..32)
    \return             Saturated value
 */
#define __SSAT                            __ssat


/** \brief  Unsigned Saturate

    This function saturates an unsigned value.

    \param [in]  value  Value to be saturated
    \param [in]    sat  Bit position to saturate to (0..31)
    \return             Saturated value
 */
#define __USAT                            __usat


/** \brief  Count leading zeros

    This function counts the number of leading zeros of a data value.

    \param [in]  value  Value to count the leading zeros
    \return             number of leading zeros in value
 */
#define __CLZ                             __clz 

#endif /* (__CORTEX_M >= 0x03) */



#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/
/* IAR iccarm specific functions */

#include <cmsis_iar.h>


#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/
/* GNU gcc specific functions */

/** \brief  No Operation

    No Operation does nothing. This instruction can be used for code alignment purposes.
 */
__attribute__( ( always_inline ) ) static __INLINE void __NOP(void)
{
  __ASM volatile ("nop");
}


/** \brief  Wait For Interrupt

    Wait For Interrupt is a hint instruction that suspends execution
    until one of a number of events occurs.
 */
__attribute__( ( always_inline ) ) static __INLINE void __WFI(void)
{
  __ASM volatile ("wfi");
}


/** \brief  Wait For Event

    Wait For Event is a hint instruction that permits the processor to enter
    a low-power state until one of a number of events occurs.
 */
__attribute__( ( always_inline ) ) static __INLINE void __WFE(void)
{
  __ASM volatile ("wfe");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文字幕中文字幕亚洲无线| 男女视频一区二区| 日本乱人伦一区| 一区二区三区不卡视频在线观看 | 成人网在线免费视频| 精品欧美一区二区三区精品久久| 久久99久久99| 欧美精选在线播放| 国产成人无遮挡在线视频| 亚洲夂夂婷婷色拍ww47| 91精品国产综合久久精品app| 久久精工是国产品牌吗| 国产亚洲美州欧州综合国| 91丨九色丨蝌蚪丨老版| 欧美一卡2卡三卡4卡5免费| 美女视频黄久久| 国产精品麻豆一区二区| 色94色欧美sute亚洲线路二| 视频一区视频二区在线观看| 免费在线欧美视频| 欧美激情一区三区| 91传媒视频在线播放| 久久精品国产澳门| 亚洲欧洲无码一区二区三区| 九九九久久久精品| 日韩精品最新网址| 91论坛在线播放| 日韩黄色小视频| 国产精品久久久久四虎| 黄色日韩三级电影| 精品裸体舞一区二区三区| 国产乱码精品一区二区三区五月婷| 亚洲精品成人a在线观看| 国产午夜精品美女毛片视频| 激情综合色综合久久综合| 91精品国产综合久久蜜臀| 日韩精品每日更新| 亚洲精品一区二区三区影院| 久久婷婷久久一区二区三区| 91精品国产一区二区三区香蕉| 国产精品人成在线观看免费| 老司机午夜精品| 在线免费观看日韩欧美| 亚洲午夜影视影院在线观看| 欧美制服丝袜第一页| 3d动漫精品啪啪一区二区竹菊| 久久影院视频免费| 91在线视频播放地址| 国产成人精品www牛牛影视| 亚洲第一福利视频在线| 国产精品网友自拍| 日韩女优电影在线观看| 国内一区二区视频| 另类小说色综合网站| 国产一区二区美女| 国产乱码精品一区二区三区av | 欧美大片日本大片免费观看| 欧美日韩日日摸| 在线播放欧美女士性生活| 欧美精品乱码久久久久久按摩| 欧美日韩精品一区二区三区| 欧美日韩国产三级| 色8久久人人97超碰香蕉987| 欧美最新大片在线看| 欧洲精品视频在线观看| 欧美一区二区在线观看| 精品人在线二区三区| 国产拍揄自揄精品视频麻豆| 国产精品三级av| 午夜影院久久久| 男人的j进女人的j一区| 丁香婷婷综合色啪| 色欧美日韩亚洲| 日本高清不卡一区| 欧美日韩国产美女| 欧美日韩国产综合视频在线观看| 日韩欧美第一区| 国产视频一区在线播放| 亚洲欧美日韩综合aⅴ视频| 亚洲影视在线播放| 激情小说亚洲一区| 国产69精品久久久久毛片| 欧美日韩一区二区三区在线| 欧美videos大乳护士334| 精品久久人人做人人爰| 亚洲国产精品99久久久久久久久 | 97精品国产露脸对白| 欧美蜜桃一区二区三区| 久久女同精品一区二区| 一区二区三区影院| 青椒成人免费视频| 91热门视频在线观看| 欧美一区二区三区四区在线观看| 久久人人爽爽爽人久久久| 自拍偷拍亚洲激情| 一区二区免费视频| 久草精品在线观看| 91亚洲国产成人精品一区二三| 日韩欧美激情一区| 一区在线播放视频| 国产尤物一区二区| 欧美亚洲高清一区| 国产精品视频免费| 免费亚洲电影在线| 欧美日韩国产精选| 国产精品网站一区| 国产精品久久久久久久蜜臀| 久久精品国产精品亚洲红杏| 成人av免费在线| 国产亚洲人成网站| 日韩av高清在线观看| 欧亚一区二区三区| 中文字幕亚洲电影| 国产mv日韩mv欧美| 欧美一区二区三区男人的天堂| 一区二区三区欧美视频| 国产成人综合在线| 欧美日韩一区国产| 亚洲免费看黄网站| 成人动漫视频在线| 中文字幕av一区 二区| 久久精品国产精品青草| 日韩午夜激情av| 亚洲综合精品久久| 色综合网站在线| 久久久久久免费| 午夜影院久久久| 欧美色图第一页| **网站欧美大片在线观看| 国产成人精品亚洲午夜麻豆| 久久久久久久久久久99999| 首页亚洲欧美制服丝腿| 欧美一区二区在线免费观看| 亚洲成人午夜电影| 欧美挠脚心视频网站| 亚洲综合一区二区三区| 欧美专区亚洲专区| 亚洲黄一区二区三区| 一本到一区二区三区| 国产精品乱码人人做人人爱| 99视频一区二区| 国产精品久久久久久一区二区三区 | 欧美日韩免费一区二区三区视频| 国产午夜精品在线观看| 天天亚洲美女在线视频| 欧美电影在哪看比较好| 亚洲精品综合在线| 欧美亚洲综合另类| 亚洲人精品午夜| 欧美在线一区二区| 亚洲欧洲制服丝袜| 色女孩综合影院| 日韩码欧中文字| 在线亚洲高清视频| 亚洲成人免费观看| 日韩美女一区二区三区四区| 美国十次了思思久久精品导航| 久久影音资源网| 国产成人小视频| 亚洲天堂免费在线观看视频| 成人黄色小视频| 亚洲一区二区视频| 欧美日韩国产一级二级| 狠狠色狠狠色综合| 国产日韩欧美一区二区三区综合| aa级大片欧美| 亚洲午夜三级在线| 精品成人一区二区| 成人午夜av影视| 亚洲国产成人tv| 日韩欧美一二三| 91网站在线播放| 亚洲成a人v欧美综合天堂下载| 26uuu精品一区二区| 成人va在线观看| 日韩电影在线观看一区| 久久综合视频网| 欧美在线你懂得| 另类欧美日韩国产在线| 国产精品国产精品国产专区不片| 色综合久久久久网| 国产在线一区二区综合免费视频| 精品黑人一区二区三区久久| 91丝袜国产在线播放| 亚洲第一福利一区| 中文文精品字幕一区二区| 91国产视频在线观看| 国产一区福利在线| 亚洲视频一区在线观看| 精品电影一区二区三区| 99国产一区二区三精品乱码| 蜜桃久久久久久| 综合自拍亚洲综合图不卡区| 精品少妇一区二区三区在线播放| 极品销魂美女一区二区三区| 亚洲国产精品久久人人爱| 91精品国产综合久久精品app| 色综合中文字幕| 男女男精品视频网| 日韩一卡二卡三卡国产欧美|