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

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

?? core_cm3.c

?? STM32手持式示波器源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
 * @file:    core_cm3.c
 * @purpose: CMSIS Cortex-M3 Core Peripheral Access Layer Source File
 * @version: V1.20
 * @date:    22. May 2009
 *----------------------------------------------------------------------------
 *
 * Copyright (C) 2009 ARM Limited. All rights reserved.
 *
 * ARM Limited (ARM) is supplying this software for use with Cortex-Mx 
 * processor based microcontrollers.  This file can be freely distributed 
 * within development tools that are supporting such ARM based processors. 
 *
 * 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.
 *
 ******************************************************************************/



#include <stdint.h>


/* define compiler specific symbols */
#if defined   ( __CC_ARM   )
  #define __ASM            __asm           /*!< asm keyword for armcc           */
  #define __INLINE         __inline        /*!< inline keyword for armcc        */

#elif defined ( __ICCARM__ )
  #define __ASM           __asm            /*!< asm keyword for iarcc           */
  #define __INLINE        inline           /*!< inline keyword for iarcc. Only avaiable in High optimization mode! */

#elif defined (  __GNUC__  )
  #define __ASM             __asm          /*!< asm keyword for gcc            */
  #define __INLINE          inline         /*!< inline keyword for gcc         */

#elif defined   (  __TASKING__  )
  #define __ASM            __asm           /*!< asm keyword for TASKING Compiler          */
  #define __INLINE         inline          /*!< inline keyword for TASKING Compiler       */

#endif



#if defined ( __CC_ARM   ) /*------------------RealView Compiler -----------------*/

/**
 * @brief  Return the Process Stack Pointer
 *
 * @param  none
 * @return uint32_t ProcessStackPointer
 *
 * Return the actual process stack pointer
 */
__ASM uint32_t __get_PSP(void)
{
  mrs r0, psp
  bx lr
}

/**
 * @brief  Set the Process Stack Pointer
 *
 * @param  uint32_t Process Stack Pointer
 * @return none
 *
 * Assign the value ProcessStackPointer to the MSP 
 * (process stack pointer) Cortex processor register
 */
__ASM void __set_PSP(uint32_t topOfProcStack)
{
  msr psp, r0
  bx lr
}

/**
 * @brief  Return the Main Stack Pointer
 *
 * @param  none
 * @return uint32_t Main Stack Pointer
 *
 * Return the current value of the MSP (main stack pointer)
 * Cortex processor register
 */
__ASM uint32_t __get_MSP(void)
{
  mrs r0, msp
  bx lr
}

/**
 * @brief  Set the Main Stack Pointer
 *
 * @param  uint32_t Main Stack Pointer
 * @return none
 *
 * Assign the value mainStackPointer to the MSP 
 * (main stack pointer) Cortex processor register
 */
__ASM void __set_MSP(uint32_t mainStackPointer)
{
  msr msp, r0
  bx lr
}

/**
 * @brief  Reverse byte order in unsigned short value
 *
 * @param  uint16_t value to reverse
 * @return uint32_t reversed value
 *
 * Reverse byte order in unsigned short value
 */
__ASM uint32_t __REV16(uint16_t value)
{
  rev16 r0, r0
  bx lr
}

/**
 * @brief  Reverse byte order in signed short value with sign extension to integer
 *
 * @param  int16_t value to reverse
 * @return int32_t reversed value
 *
 * Reverse byte order in signed short value with sign extension to integer
 */
__ASM int32_t __REVSH(int16_t value)
{
  revsh r0, r0
  bx lr
}


#if (__ARMCC_VERSION < 400000)

/**
 * @brief  Remove the exclusive lock created by ldrex
 *
 * @param  none
 * @return none
 *
 * Removes the exclusive lock which is created by ldrex.
 */
__ASM void __CLREX(void)
{
  clrex
}

/**
 * @brief  Return the Base Priority value
 *
 * @param  none
 * @return uint32_t BasePriority
 *
 * Return the content of the base priority register
 */
__ASM uint32_t  __get_BASEPRI(void)
{
  mrs r0, basepri
  bx lr
}

/**
 * @brief  Set the Base Priority value
 *
 * @param  uint32_t BasePriority
 * @return none
 *
 * Set the base priority register
 */
__ASM void __set_BASEPRI(uint32_t basePri)
{
  msr basepri, r0
  bx lr
}

/**
 * @brief  Return the Priority Mask value
 *
 * @param  none
 * @return uint32_t PriMask
 *
 * Return the state of the priority mask bit from the priority mask
 * register
 */
__ASM uint32_t __get_PRIMASK(void)
{
  mrs r0, primask
  bx lr
}

/**
 * @brief  Set the Priority Mask value
 *
 * @param  uint32_t PriMask
 * @return none
 *
 * Set the priority mask bit in the priority mask register
 */
__ASM void __set_PRIMASK(uint32_t priMask)
{
  msr primask, r0
  bx lr
}

/**
 * @brief  Return the Fault Mask value
 *
 * @param  none
 * @return uint32_t FaultMask
 *
 * Return the content of the fault mask register
 */
__ASM uint32_t  __get_FAULTMASK(void)
{
  mrs r0, faultmask
  bx lr
}

/**
 * @brief  Set the Fault Mask value
 *
 * @param  uint32_t faultMask value
 * @return none
 *
 * Set the fault mask register
 */
__ASM void __set_FAULTMASK(uint32_t faultMask)
{
  msr faultmask, r0
  bx lr
}

/**
 * @brief  Return the Control Register value
 * 
 * @param  none
 * @return uint32_t Control value
 *
 * Return the content of the control register
 */
__ASM uint32_t  __get_CONTROL(void)
{
  mrs r0, control
  bx lr
}

/**
 * @brief  Set the Control Register value
 *
 * @param  uint32_t Control value
 * @return none
 *
 * Set the control register
 */
__ASM void __set_CONTROL(uint32_t control)
{
  msr control, r0
  bx lr
}

#endif /* __ARMCC_VERSION  */ 


#elif (defined (__ICCARM__)) /*------------------ ICC Compiler -------------------*/
#pragma diag_suppress=Pe940

/**
 * @brief  Return the Process Stack Pointer
 *
 * @param  none
 * @return uint32_t ProcessStackPointer
 *
 * Return the actual process stack pointer
 */
uint32_t __get_PSP(void)
{
  __ASM("mrs r0, psp");
  __ASM("bx lr");
}

/**
 * @brief  Set the Process Stack Pointer
 *
 * @param  uint32_t Process Stack Pointer
 * @return none
 *
 * Assign the value ProcessStackPointer to the MSP 
 * (process stack pointer) Cortex processor register
 */
void __set_PSP(uint32_t topOfProcStack)
{
  __ASM("msr psp, r0");
  __ASM("bx lr");
}

/**
 * @brief  Return the Main Stack Pointer
 *
 * @param  none
 * @return uint32_t Main Stack Pointer
 *
 * Return the current value of the MSP (main stack pointer)
 * Cortex processor register
 */
uint32_t __get_MSP(void)
{
  __ASM("mrs r0, msp");
  __ASM("bx lr");
}

/**
 * @brief  Set the Main Stack Pointer
 *
 * @param  uint32_t Main Stack Pointer
 * @return none
 *
 * Assign the value mainStackPointer to the MSP 
 * (main stack pointer) Cortex processor register
 */
void __set_MSP(uint32_t topOfMainStack)
{
  __ASM("msr msp, r0");
  __ASM("bx lr");
}

/**
 * @brief  Reverse byte order in unsigned short value
 *
 * @param  uint16_t value to reverse
 * @return uint32_t reversed value
 *
 * Reverse byte order in unsigned short value
 */
uint32_t __REV16(uint16_t value)
{
  __ASM("rev16 r0, r0");
  __ASM("bx lr");
}

/**
 * @brief  Reverse bit order of value
 *
 * @param  uint32_t value to reverse
 * @return uint32_t reversed value
 *
 * Reverse bit order of value
 */
uint32_t __RBIT(uint32_t value)
{
  __ASM("rbit r0, r0");
  __ASM("bx lr");
}

/**
 * @brief  LDR Exclusive
 *
 * @param  uint8_t* address
 * @return uint8_t value of (*address)
 *
 * Exclusive LDR command
 */
uint8_t __LDREXB(uint8_t *addr)
{
  __ASM("ldrexb r0, [r0]");
  __ASM("bx lr"); 
}

/**
 * @brief  LDR Exclusive
 *
 * @param  uint16_t* address
 * @return uint16_t value of (*address)
 *
 * Exclusive LDR command
 */
uint16_t __LDREXH(uint16_t *addr)
{
  __ASM("ldrexh r0, [r0]");
  __ASM("bx lr");
}

/**
 * @brief  LDR Exclusive
 *
 * @param  uint32_t* address
 * @return uint32_t value of (*address)
 *
 * Exclusive LDR command
 */
uint32_t __LDREXW(uint32_t *addr)
{
  __ASM("ldrex r0, [r0]");
  __ASM("bx lr");
}

/**
 * @brief  STR Exclusive
 *
 * @param  uint8_t *address
 * @param  uint8_t value to store
 * @return uint32_t successful / failed
 *
 * Exclusive STR command
 */
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{
  __ASM("strexb r0, r0, [r1]");
  __ASM("bx lr");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久先锋影音av| 亚洲国产精品麻豆| 91久久国产综合久久| 蜜桃久久久久久久| 亚洲午夜羞羞片| 中文字幕中文字幕在线一区| 欧美日韩免费电影| 91美女片黄在线观看91美女| 经典一区二区三区| 日韩精品福利网| 亚洲黄色片在线观看| 国产精品毛片a∨一区二区三区| 日韩午夜在线影院| 欧美日韩精品一区二区三区蜜桃| av一区二区三区在线| 国精品**一区二区三区在线蜜桃 | 一区二区三区影院| 久久久久国产免费免费| 日韩欧美国产一区二区在线播放| 91福利在线导航| 99久久99久久精品免费观看 | 成人丝袜18视频在线观看| 日韩高清一级片| 亚洲高清不卡在线| 亚洲一级不卡视频| 亚洲卡通欧美制服中文| 亚洲欧美综合另类在线卡通| 久久精品这里都是精品| 亚洲精品一区二区三区福利| 欧美人体做爰大胆视频| 欧美日韩亚洲综合| 精品视频免费在线| 欧美日韩一级大片网址| 欧美午夜精品一区| 欧美手机在线视频| 欧美日韩成人一区| 欧美日韩国产不卡| 91麻豆精品91久久久久久清纯| 在线亚洲一区二区| 欧美日韩中文另类| 在线播放91灌醉迷j高跟美女 | 欧美三级电影在线观看| 欧美日韩精品高清| 911精品国产一区二区在线| 欧美日韩日本视频| 在线播放国产精品二区一二区四区| 欧美日韩黄视频| 在线不卡中文字幕播放| 91精品国产欧美一区二区成人| 777午夜精品免费视频| 日韩你懂的在线观看| 精品国产一区二区三区忘忧草| 久久综合九色欧美综合狠狠| 国产拍揄自揄精品视频麻豆| 国产精品欧美综合在线| 亚洲欧美日韩国产中文在线| 一区二区三区视频在线观看| 亚洲va国产va欧美va观看| 日日夜夜免费精品| 激情六月婷婷久久| www.av精品| 欧美色视频在线| 日韩精品一区二区三区在线观看 | 久久亚洲免费视频| 综合激情成人伊人| 五月天久久比比资源色| 国产在线国偷精品免费看| 波多野结衣在线aⅴ中文字幕不卡| 93久久精品日日躁夜夜躁欧美| 欧美午夜理伦三级在线观看| 欧美变态tickle挠乳网站| 日本一区二区三区电影| 亚洲一线二线三线视频| 麻豆中文一区二区| 99久久久久久99| 538在线一区二区精品国产| 久久精品一区二区三区不卡| 亚洲欧美国产高清| 久久精品理论片| 99视频超级精品| 欧美一区二区二区| 一区在线观看视频| 欧美96一区二区免费视频| 成人丝袜视频网| 欧美一区二区播放| 亚洲欧美激情一区二区| 麻豆91在线播放免费| 91视频com| 久久久久免费观看| 日韩精品久久理论片| 99综合电影在线视频| 日韩亚洲欧美综合| 亚洲美女屁股眼交3| 国内国产精品久久| 欧美高清视频一二三区| 国产精品乱码一区二区三区软件| 日韩国产欧美三级| 一本一道波多野结衣一区二区| 欧美电影免费观看高清完整版在线 | 五月婷婷欧美视频| 波多野结衣中文一区| 精品成人一区二区三区| 亚洲成人av一区二区三区| 成人影视亚洲图片在线| 欧美一三区三区四区免费在线看| 中文字幕在线一区二区三区| 精品亚洲成a人在线观看| 欧洲精品一区二区三区在线观看| 久久精品视频在线免费观看| 日日骚欧美日韩| 欧美日韩在线播放一区| 亚洲视频狠狠干| 成人av集中营| 国产日产欧美精品一区二区三区| 奇米精品一区二区三区在线观看一| 色嗨嗨av一区二区三区| 自拍偷自拍亚洲精品播放| 91精品国产色综合久久久蜜香臀| 欧美国产禁国产网站cc| 精品午夜久久福利影院| 日韩一区二区在线播放| 婷婷开心激情综合| 欧美日韩精品欧美日韩精品一| 亚洲激情网站免费观看| 99久久综合国产精品| 国产精品电影院| 99视频在线精品| 国产精品美女久久久久av爽李琼| 国产东北露脸精品视频| 国产亚洲一本大道中文在线| 国产一区福利在线| 久久精品综合网| 丰满亚洲少妇av| 国产精品视频在线看| 成人白浆超碰人人人人| 国产精品麻豆视频| 91免费视频网址| 亚洲综合在线五月| 欧美色综合久久| 丝袜诱惑制服诱惑色一区在线观看 | 国产麻豆成人传媒免费观看| 久久亚洲综合色一区二区三区 | 欧美专区在线观看一区| 一区二区高清免费观看影视大全| 日本福利一区二区| 亚洲高清免费观看高清完整版在线观看 | 国产精品免费久久| 色香蕉成人二区免费| 一区二区三区四区不卡在线| 欧美日韩国产色站一区二区三区| 日韩在线卡一卡二| 欧美大片在线观看一区二区| 国产一区二区在线电影| 国产香蕉久久精品综合网| eeuss影院一区二区三区| 亚洲另类色综合网站| 欧美日韩精品一区二区三区| 捆绑调教一区二区三区| 久久精品免费在线观看| 色网综合在线观看| 日本91福利区| 国产精品欧美一区二区三区| 色综合天天综合网天天看片| 婷婷夜色潮精品综合在线| 精品国产一区二区三区不卡| jizzjizzjizz欧美| 午夜视频一区二区| 久久综合av免费| 一本久道中文字幕精品亚洲嫩| 日韩在线卡一卡二| 欧美激情一区三区| 欧美日韩中字一区| 国产精品一品视频| 亚洲福利一二三区| 久久精品一区二区| 欧美三区在线观看| 国产超碰在线一区| 亚洲一区二区不卡免费| 日韩精品中文字幕在线一区| av电影在线观看不卡| 日本欧美一区二区三区乱码| 欧美激情自拍偷拍| 欧美精品乱码久久久久久按摩| 国产精品自在在线| 亚洲成a人v欧美综合天堂下载| 欧美激情一区二区在线| 欧美一区二区三区在线| 91在线丨porny丨国产| 奇米亚洲午夜久久精品| 亚洲欧洲综合另类| 国产肉丝袜一区二区| 欧美久久免费观看| 91蝌蚪国产九色| 国产精品伊人色| 丝袜a∨在线一区二区三区不卡| 国产人成一区二区三区影院| 日韩一区和二区| 91丨porny丨首页| 国产乱子伦一区二区三区国色天香| 亚洲午夜在线电影|