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

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

?? stm32f10x_exti.c

?? STM32SDCardSourceCodeFATFS.rar
?? C
字號:
/**
  ******************************************************************************
  * @file    stm32f10x_exti.c
  * @author  MCD Application Team
  * @version V3.1.2
  * @date    09/28/2009
  * @brief   This file provides all the EXTI firmware functions.
  ******************************************************************************
  * @copy
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; COPYRIGHT 2009 STMicroelectronics</center></h2>
  */ 

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_exti.h"

/** @addtogroup STM32F10x_StdPeriph_Driver
  * @{
  */

/** @defgroup EXTI 
  * @brief EXTI driver modules
  * @{
  */

/** @defgroup EXTI_Private_TypesDefinitions
  * @{
  */

/**
  * @}
  */

/** @defgroup EXTI_Private_Defines
  * @{
  */

#define EXTI_LineNone    ((uint32_t)0x00000)  /* No interrupt selected */

/**
  * @}
  */

/** @defgroup EXTI_Private_Macros
  * @{
  */

/**
  * @}
  */

/** @defgroup EXTI_Private_Variables
  * @{
  */

/**
  * @}
  */

/** @defgroup EXTI_Private_FunctionPrototypes
  * @{
  */

/**
  * @}
  */

/** @defgroup EXTI_Private_Functions
  * @{
  */

/**
  * @brief  Deinitializes the EXTI peripheral registers to their default reset values.
  * @param  None
  * @retval None
  */
void EXTI_DeInit(void)
{
  EXTI->IMR = 0x00000000;
  EXTI->EMR = 0x00000000;
  EXTI->RTSR = 0x00000000; 
  EXTI->FTSR = 0x00000000; 
  EXTI->PR = 0x000FFFFF;
}

/**
  * @brief  Initializes the EXTI peripheral according to the specified
  *   parameters in the EXTI_InitStruct.
  * @param  EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
  *   that contains the configuration information for the EXTI peripheral.
  * @retval None
  */
void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
{
  uint32_t tmp = 0;

  /* Check the parameters */
  assert_param(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode));
  assert_param(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger));
  assert_param(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line));  
  assert_param(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd));

  tmp = (uint32_t)EXTI_BASE;
     
  if (EXTI_InitStruct->EXTI_LineCmd != DISABLE)
  {
    /* Clear EXTI line configuration */
    EXTI->IMR &= ~EXTI_InitStruct->EXTI_Line;
    EXTI->EMR &= ~EXTI_InitStruct->EXTI_Line;
    
    tmp += EXTI_InitStruct->EXTI_Mode;

    *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line;

    /* Clear Rising Falling edge configuration */
    EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line;
    EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line;
    
    /* Select the trigger for the selected external interrupts */
    if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling)
    {
      /* Rising Falling edge */
      EXTI->RTSR |= EXTI_InitStruct->EXTI_Line;
      EXTI->FTSR |= EXTI_InitStruct->EXTI_Line;
    }
    else
    {
      tmp = (uint32_t)EXTI_BASE;
      tmp += EXTI_InitStruct->EXTI_Trigger;

      *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line;
    }
  }
  else
  {
    tmp += EXTI_InitStruct->EXTI_Mode;

    /* Disable the selected external lines */
    *(__IO uint32_t *) tmp &= ~EXTI_InitStruct->EXTI_Line;
  }
}

/**
  * @brief  Fills each EXTI_InitStruct member with its reset value.
  * @param  EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure which will
  *   be initialized.
  * @retval None
  */
void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct)
{
  EXTI_InitStruct->EXTI_Line = EXTI_LineNone;
  EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling;
  EXTI_InitStruct->EXTI_LineCmd = DISABLE;
}

/**
  * @brief  Generates a Software interrupt.
  * @param  EXTI_Line: specifies the EXTI lines to be enabled or disabled.
  *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
  * @retval None
  */
void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));
  
  EXTI->SWIER |= EXTI_Line;
}

/**
  * @brief  Checks whether the specified EXTI line flag is set or not.
  * @param  EXTI_Line: specifies the EXTI line flag to check.
  *   This parameter can be:
  *     @arg EXTI_Linex: External interrupt line x where x(0..19)
  * @retval The new state of EXTI_Line (SET or RESET).
  */
FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line)
{
  FlagStatus bitstatus = RESET;
  /* Check the parameters */
  assert_param(IS_GET_EXTI_LINE(EXTI_Line));
  
  if ((EXTI->PR & EXTI_Line) != (uint32_t)RESET)
  {
    bitstatus = SET;
  }
  else
  {
    bitstatus = RESET;
  }
  return bitstatus;
}

/**
  * @brief  Clears the EXTI抯 line pending flags.
  * @param  EXTI_Line: specifies the EXTI lines flags to clear.
  *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
  * @retval None
  */
void EXTI_ClearFlag(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));
  
  EXTI->PR = EXTI_Line;
}

/**
  * @brief  Checks whether the specified EXTI line is asserted or not.
  * @param  EXTI_Line: specifies the EXTI line to check.
  *   This parameter can be:
  *     @arg EXTI_Linex: External interrupt line x where x(0..19)
  * @retval The new state of EXTI_Line (SET or RESET).
  */
ITStatus EXTI_GetITStatus(uint32_t EXTI_Line)
{
  ITStatus bitstatus = RESET;
  uint32_t enablestatus = 0;
  /* Check the parameters */
  assert_param(IS_GET_EXTI_LINE(EXTI_Line));
  
  enablestatus =  EXTI->IMR & EXTI_Line;
  if (((EXTI->PR & EXTI_Line) != (uint32_t)RESET) && (enablestatus != (uint32_t)RESET))
  {
    bitstatus = SET;
  }
  else
  {
    bitstatus = RESET;
  }
  return bitstatus;
}

/**
  * @brief  Clears the EXTI抯 line pending bits.
  * @param  EXTI_Line: specifies the EXTI lines to clear.
  *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
  * @retval None
  */
void EXTI_ClearITPendingBit(uint32_t EXTI_Line)
{
  /* Check the parameters */
  assert_param(IS_EXTI_LINE(EXTI_Line));
  
  EXTI->PR = EXTI_Line;
}

/**
  * @}
  */

/**
  * @}
  */

/**
  * @}
  */

/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品tv| 亚洲国产日韩综合久久精品| 欧美日韩国产在线观看| 国产一区二区三区四区五区美女| 亚洲三级在线观看| 久久久另类综合| 日韩一级完整毛片| 欧美裸体bbwbbwbbw| aaa欧美大片| 国产在线精品国自产拍免费| 午夜精品123| 亚洲精品国产精华液| 中文字幕制服丝袜一区二区三区 | 日韩欧美久久久| 欧美日韩视频在线第一区| 成人精品在线视频观看| 国产综合久久久久久鬼色| 蜜桃传媒麻豆第一区在线观看| 一区二区三区中文字幕电影| 亚洲特级片在线| 中文字幕一区二区视频| 国产精品久久久久一区二区三区 | 色综合天天综合网天天狠天天| 国产高清在线观看免费不卡| 国精产品一区一区三区mba桃花 | 国产一区免费电影| 国产在线不卡一区| 国产成人免费视频网站| 国产成人av自拍| 91在线观看高清| 欧美亚洲图片小说| 911精品国产一区二区在线| 色婷婷综合久久| 欧美综合欧美视频| 日韩欧美国产一二三区| 久久女同互慰一区二区三区| 亚洲国产高清aⅴ视频| 自拍偷拍亚洲激情| 丝瓜av网站精品一区二区| 蜜臀av性久久久久蜜臀av麻豆 | 精品国产污污免费网站入口| 久久久精品tv| 一区二区免费看| 日本中文字幕一区二区视频 | 日本欧美一区二区| 国产乱码精品一区二区三 | 久久99精品一区二区三区三区| 国产在线播放一区二区三区| www.成人在线| 5858s免费视频成人| 国产片一区二区| 亚洲午夜精品在线| 国产成人在线看| 欧美性生活影院| 久久久亚洲欧洲日产国码αv| 成人免费在线视频| 久久99久久99精品免视看婷婷 | 国产精品久久久久国产精品日日| 中文字幕欧美一| 青青草成人在线观看| 99综合电影在线视频| 亚洲精品在线网站| 亚洲大片在线观看| 99久久伊人久久99| 久久综合色综合88| 日韩主播视频在线| 在线一区二区观看| 国产精品三级电影| 久久国产乱子精品免费女| 欧美日韩一卡二卡三卡| 亚洲婷婷国产精品电影人久久| 久久精品国产99国产| 欧美日韩免费视频| 综合久久给合久久狠狠狠97色| 国产成人在线观看| 久久在线观看免费| 精品一区二区久久| 日韩欧美国产精品一区| 天天综合色天天| 欧美群妇大交群的观看方式| 一区二区三区四区国产精品| 成人午夜碰碰视频| 亚洲国产精品精华液ab| 国产成人综合亚洲网站| 国产午夜精品理论片a级大结局| 免费观看在线综合| 日韩视频一区二区在线观看| 午夜精品免费在线| 欧美日韩一区二区欧美激情| 亚洲成人在线观看视频| 在线免费观看一区| 香蕉av福利精品导航| 91精品国产美女浴室洗澡无遮挡| 亚洲电影中文字幕在线观看| 欧美午夜精品免费| 秋霞成人午夜伦在线观看| 日韩免费观看2025年上映的电影| 久久精品久久99精品久久| 日韩欧美在线不卡| 国产精品自拍av| 中文字幕五月欧美| 欧美精品在线一区二区三区| 日韩国产一二三区| 久久日韩粉嫩一区二区三区| 成人黄色小视频在线观看| 亚洲精品菠萝久久久久久久| 欧美日韩中文字幕精品| 精一区二区三区| 亚洲丝袜自拍清纯另类| 欧美日韩美少妇| 国产成人在线观看免费网站| 亚洲美女淫视频| 精品国产制服丝袜高跟| 99久久免费精品| 免费成人在线播放| 亚洲欧洲国产日韩| 91精品国产综合久久精品| 丁香激情综合五月| 日本一区中文字幕| 亚洲女爱视频在线| wwwwxxxxx欧美| 欧美天堂一区二区三区| 国产不卡视频在线播放| 亚洲成人av电影在线| 中文字幕不卡三区| 日韩一卡二卡三卡国产欧美| 色激情天天射综合网| 国产一区二区三区四区五区美女 | 国产欧美日韩综合| 3d成人h动漫网站入口| 91欧美一区二区| 国产精品888| 免费成人你懂的| 亚洲成在人线在线播放| 亚洲色图欧洲色图婷婷| 久久久久久亚洲综合影院红桃| 3d动漫精品啪啪| 国产欧美一区二区精品婷婷| 欧美性生活一区| 免费一区二区视频| 欧美韩国一区二区| 欧美挠脚心视频网站| 国产精品123区| 男女男精品网站| 亚洲午夜久久久久久久久久久 | 久久亚洲综合色一区二区三区| 日本久久电影网| 91丝袜国产在线播放| 99久久综合99久久综合网站| 成人精品视频一区二区三区| 国产精品99久久久久久宅男| 精彩视频一区二区| 国模娜娜一区二区三区| 国产精品白丝jk白祙喷水网站| 亚洲国产精品自拍| 国产精品久久久久一区| 中文字幕一区二区三区精华液| 欧美精彩视频一区二区三区| 国产日韩欧美一区二区三区乱码 | 日韩激情视频在线观看| 日韩国产高清在线| 国内精品国产成人国产三级粉色| 久久精品国产99国产精品| 国产乱对白刺激视频不卡| 粉嫩绯色av一区二区在线观看| 不卡的电影网站| 欧美性猛交xxxxxx富婆| 欧美一区二区三区白人| 精品成人私密视频| 国产精品麻豆一区二区| 亚洲午夜精品一区二区三区他趣| 日韩1区2区日韩1区2区| 国产 欧美在线| 欧美日韩精品一区二区三区蜜桃 | 国产福利视频一区二区三区| av不卡在线播放| 91麻豆精品国产91| 亚洲国产精华液网站w | 91久久精品日日躁夜夜躁欧美| 欧美精品在线一区二区三区| 国产欧美日韩精品在线| 亚洲午夜精品在线| 激情偷乱视频一区二区三区| 99久久免费视频.com| 日韩欧美国产1| 一区二区三区不卡视频| 国精产品一区一区三区mba桃花| 在线精品视频免费观看| 26uuu国产日韩综合| 亚洲午夜精品网| 92精品国产成人观看免费| 欧美videofree性高清杂交| 亚洲日本免费电影| 国产成人av福利| 日韩精品在线一区| 一区二区三区日韩欧美| 国产一区视频导航| 欧美一区二区视频免费观看| 一区二区三区免费| 丁香六月综合激情|