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

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

?? stm32f10x_rtc.c

?? 基于STM32的 模擬時(shí)序
?? C
字號(hào):
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : stm32f10x_rtc.c
* Author             : MCD Application Team
* Version            : V2.0.2
* Date               : 07/11/2008
* Description        : This file provides all the RTC firmware functions.
********************************************************************************
* 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.
*******************************************************************************/

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

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define CRL_CNF_Set      ((u16)0x0010)      /* Configuration Flag Enable Mask */
#define CRL_CNF_Reset    ((u16)0xFFEF)      /* Configuration Flag Disable Mask */
#define RTC_LSB_Mask     ((u32)0x0000FFFF)  /* RTC LSB Mask */
#define PRLH_MSB_Mask    ((u32)0x000F0000)  /* RTC Prescaler MSB Mask */

/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : RTC_ITConfig
* Description    : Enables or disables the specified RTC interrupts.
* Input          : - RTC_IT: specifies the RTC interrupts sources to be enabled
*                    or disabled.
*                    This parameter can be any combination of the following values:
*                       - RTC_IT_OW: Overflow interrupt
*                       - RTC_IT_ALR: Alarm interrupt
*                       - RTC_IT_SEC: Second interrupt
*                  - NewState: new state of the specified RTC interrupts.
*                    This parameter can be: ENABLE or DISABLE.
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_ITConfig(u16 RTC_IT, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_RTC_IT(RTC_IT));  
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  if (NewState != DISABLE)
  {
    RTC->CRH |= RTC_IT;
  }
  else
  {
    RTC->CRH &= (u16)~RTC_IT;
  }
}

/*******************************************************************************
* Function Name  : RTC_EnterConfigMode
* Description    : Enters the RTC configuration mode.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_EnterConfigMode(void)
{
  /* Set the CNF flag to enter in the Configuration Mode */
  RTC->CRL |= CRL_CNF_Set;
}

/*******************************************************************************
* Function Name  : RTC_ExitConfigMode
* Description    : Exits from the RTC configuration mode.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_ExitConfigMode(void)
{
  /* Reset the CNF flag to exit from the Configuration Mode */
  RTC->CRL &= CRL_CNF_Reset;
}

/*******************************************************************************
* Function Name  : RTC_GetCounter
* Description    : Gets the RTC counter value.
* Input          : None
* Output         : None
* Return         : RTC counter value.
*******************************************************************************/
u32 RTC_GetCounter(void)
{
  u16 tmp = 0;
  tmp = RTC->CNTL;

  return (((u32)RTC->CNTH << 16 ) | tmp) ;
}

/*******************************************************************************
* Function Name  : RTC_SetCounter
* Description    : Sets the RTC counter value.
* Input          : - CounterValue: RTC counter new value.
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_SetCounter(u32 CounterValue)
{ 
  RTC_EnterConfigMode();

  /* Set RTC COUNTER MSB word */
  RTC->CNTH = CounterValue >> 16;
  /* Set RTC COUNTER LSB word */
  RTC->CNTL = (CounterValue & RTC_LSB_Mask);

  RTC_ExitConfigMode();
}

/*******************************************************************************
* Function Name  : RTC_SetPrescaler
* Description    : Sets the RTC prescaler value.
* Input          : - PrescalerValue: RTC prescaler new value.
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_SetPrescaler(u32 PrescalerValue)
{
  /* Check the parameters */
  assert_param(IS_RTC_PRESCALER(PrescalerValue));
  
  RTC_EnterConfigMode();

  /* Set RTC PRESCALER MSB word */
  RTC->PRLH = (PrescalerValue & PRLH_MSB_Mask) >> 16;
  /* Set RTC PRESCALER LSB word */
  RTC->PRLL = (PrescalerValue & RTC_LSB_Mask);

  RTC_ExitConfigMode();
}

/*******************************************************************************
* Function Name  : RTC_SetAlarm
* Description    : Sets the RTC alarm value.
* Input          : - AlarmValue: RTC alarm new value.
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_SetAlarm(u32 AlarmValue)
{  
  RTC_EnterConfigMode();

  /* Set the ALARM MSB word */
  RTC->ALRH = AlarmValue >> 16;
  /* Set the ALARM LSB word */
  RTC->ALRL = (AlarmValue & RTC_LSB_Mask);

  RTC_ExitConfigMode();
}

/*******************************************************************************
* Function Name  : RTC_GetDivider
* Description    : Gets the RTC divider value.
* Input          : None
* Output         : None
* Return         : RTC Divider value.
*******************************************************************************/
u32 RTC_GetDivider(void)
{
  u32 tmp = 0x00;

  tmp = ((u32)RTC->DIVH & (u32)0x000F) << 16;
  tmp |= RTC->DIVL;

  return tmp;
}

/*******************************************************************************
* Function Name  : RTC_WaitForLastTask
* Description    : Waits until last write operation on RTC registers has finished.
*                  This function must be called before any write to RTC registers.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_WaitForLastTask(void)
{
  /* Loop until RTOFF flag is set */
  while ((RTC->CRL & RTC_FLAG_RTOFF) == (u16)RESET)
  {
  }
}

/*******************************************************************************
* Function Name  : RTC_WaitForSynchro
* Description    : Waits until the RTC registers (RTC_CNT, RTC_ALR and RTC_PRL)
*                  are synchronized with RTC APB clock.
*                  This function must be called before any read operation after
*                  an APB reset or an APB clock stop.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_WaitForSynchro(void)
{
  /* Clear RSF flag */
  RTC->CRL &= (u16)~RTC_FLAG_RSF;

  /* Loop until RSF flag is set */
  while ((RTC->CRL & RTC_FLAG_RSF) == (u16)RESET)
  {
  }
}

/*******************************************************************************
* Function Name  : RTC_GetFlagStatus
* Description    : Checks whether the specified RTC flag is set or not.
* Input          : - RTC_FLAG: specifies the flag to check.
*                    This parameter can be one the following values:
*                       - RTC_FLAG_RTOFF: RTC Operation OFF flag
*                       - RTC_FLAG_RSF: Registers Synchronized flag
*                       - RTC_FLAG_OW: Overflow flag
*                       - RTC_FLAG_ALR: Alarm flag
*                       - RTC_FLAG_SEC: Second flag
* Output         : None
* Return         : The new state of RTC_FLAG (SET or RESET).
*******************************************************************************/
FlagStatus RTC_GetFlagStatus(u16 RTC_FLAG)
{
  FlagStatus bitstatus = RESET;
  
  /* Check the parameters */
  assert_param(IS_RTC_GET_FLAG(RTC_FLAG)); 
  
  if ((RTC->CRL & RTC_FLAG) != (u16)RESET)
  {
    bitstatus = SET;
  }
  else
  {
    bitstatus = RESET;
  }
  return bitstatus;
}

/*******************************************************************************
* Function Name  : RTC_ClearFlag
* Description    : Clears the RTC抯 pending flags.
* Input          : - RTC_FLAG: specifies the flag to clear.
*                    This parameter can be any combination of the following values:
*                       - RTC_FLAG_RSF: Registers Synchronized flag. This flag
*                         is cleared only after an APB reset or an APB Clock stop.
*                       - RTC_FLAG_OW: Overflow flag
*                       - RTC_FLAG_ALR: Alarm flag
*                       - RTC_FLAG_SEC: Second flag
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_ClearFlag(u16 RTC_FLAG)
{
  /* Check the parameters */
  assert_param(IS_RTC_CLEAR_FLAG(RTC_FLAG)); 
    
  /* Clear the coressponding RTC flag */
  RTC->CRL &= (u16)~RTC_FLAG;
}

/*******************************************************************************
* Function Name  : RTC_GetITStatus
* Description    : Checks whether the specified RTC interrupt has occured or not.
* Input          : - RTC_IT: specifies the RTC interrupts sources to check.
*                    This parameter can be one of the following values:
*                       - RTC_IT_OW: Overflow interrupt
*                       - RTC_IT_ALR: Alarm interrupt
*                       - RTC_IT_SEC: Second interrupt
* Output         : None
* Return         : The new state of the RTC_IT (SET or RESET).
*******************************************************************************/
ITStatus RTC_GetITStatus(u16 RTC_IT)
{
  ITStatus bitstatus = RESET;

  /* Check the parameters */
  assert_param(IS_RTC_GET_IT(RTC_IT)); 
  
  bitstatus = (ITStatus)(RTC->CRL & RTC_IT);

  if (((RTC->CRH & RTC_IT) != (u16)RESET) && (bitstatus != (u16)RESET))
  {
    bitstatus = SET;
  }
  else
  {
    bitstatus = RESET;
  }
  return bitstatus;
}

/*******************************************************************************
* Function Name  : RTC_ClearITPendingBit
* Description    : Clears the RTC抯 interrupt pending bits.
* Input          : - RTC_IT: specifies the interrupt pending bit to clear.
*                    This parameter can be any combination of the following values:
*                       - RTC_IT_OW: Overflow interrupt
*                       - RTC_IT_ALR: Alarm interrupt
*                       - RTC_IT_SEC: Second interrupt
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_ClearITPendingBit(u16 RTC_IT)
{
  /* Check the parameters */
  assert_param(IS_RTC_IT(RTC_IT));  
  
  /* Clear the coressponding RTC pending bit */
  RTC->CRL &= (u16)~RTC_IT;
}

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三| 91精品国产综合久久久蜜臀图片| 亚洲精品国产第一综合99久久| 777久久久精品| 成人av资源在线观看| 五月婷婷欧美视频| 国产精品久99| 欧美精品一区二区三区一线天视频| 一本一本久久a久久精品综合麻豆| 国产真实乱子伦精品视频| 午夜精品久久久久久不卡8050| 国产精品久久久久精k8| 久久亚洲一级片| 欧美疯狂做受xxxx富婆| 91丝袜美女网| 国产成人精品三级麻豆| 日产欧产美韩系列久久99| 亚洲精品成人悠悠色影视| 国产日韩一级二级三级| 欧美一区二区私人影院日本| 在线精品观看国产| 色婷婷精品大在线视频| 岛国av在线一区| 韩国视频一区二区| 美女视频黄 久久| 三级精品在线观看| 亚瑟在线精品视频| 一区二区三区欧美亚洲| 亚洲视频在线观看一区| 国产欧美一区二区精品秋霞影院 | 日韩精品中文字幕一区| 欧美在线视频全部完| 色呦呦国产精品| 99精品欧美一区二区三区综合在线| 国产麻豆一精品一av一免费| 精东粉嫩av免费一区二区三区| 日韩在线a电影| 首页欧美精品中文字幕| 性做久久久久久免费观看| 亚洲国产日韩综合久久精品| 亚洲国产综合91精品麻豆| 亚洲综合在线第一页| 亚洲精品老司机| 亚洲综合视频在线观看| 一区二区三区不卡在线观看| 一区二区三区丝袜| 亚洲午夜久久久久久久久电影网| 亚洲影院理伦片| 丝袜美腿成人在线| 免费成人美女在线观看| 久久精品99国产精品日本| 国产真实乱对白精彩久久| 国产精品一区二区在线播放 | 久久成人免费电影| 精品一区二区三区免费播放| 国产一区二区三区在线观看精品| 蜜臀av性久久久久av蜜臀妖精| 久久99精品久久久久| 国产精品一区二区不卡| 成人综合激情网| 在线观看成人免费视频| 91麻豆精品久久久久蜜臀| 欧美大尺度电影在线| 久久精品人人做人人综合| 国产精品美女久久久久高潮| 一区二区三区波多野结衣在线观看| 亚洲一级在线观看| 久久国产精品露脸对白| 东方aⅴ免费观看久久av| 91久久精品国产91性色tv| 6080午夜不卡| 国产欧美一区二区精品性| 又紧又大又爽精品一区二区| 天使萌一区二区三区免费观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产精品―色哟哟| 亚洲一区二区精品3399| 久久草av在线| 9人人澡人人爽人人精品| 欧美日韩国产免费一区二区 | 国产欧美日韩另类一区| 亚洲丝袜另类动漫二区| 天天亚洲美女在线视频| 国产麻豆日韩欧美久久| 欧美亚洲尤物久久| 久久久久久久久久久久电影 | 国产精品亚洲一区二区三区在线 | 国产日韩欧美a| 亚洲黄色性网站| 国产在线播精品第三| 在线观看日韩毛片| 久久久亚洲午夜电影| 亚洲自拍偷拍图区| 国产精品66部| 欧美日韩卡一卡二| 国产精品免费免费| 日本大胆欧美人术艺术动态| 99热精品国产| 欧美精品一区二区三区蜜臀| 亚洲福中文字幕伊人影院| 粉嫩一区二区三区在线看| 正在播放一区二区| 亚洲欧美日韩系列| 国产河南妇女毛片精品久久久 | 成人a级免费电影| 日韩精品中文字幕一区二区三区| 亚洲精品成a人| 粉嫩蜜臀av国产精品网站| 日韩午夜电影在线观看| 亚洲一区免费观看| 国产一区二区免费看| 欧美日韩你懂得| 亚洲女子a中天字幕| 成人短视频下载| 久久久久久夜精品精品免费| 日韩高清不卡在线| 欧美午夜精品久久久久久孕妇 | 亚洲综合在线五月| 不卡大黄网站免费看| 国产日韩欧美综合在线| 久久av老司机精品网站导航| 欧美日韩国产乱码电影| 亚洲黄色录像片| 91老师国产黑色丝袜在线| 国产蜜臀97一区二区三区| 国产真实乱子伦精品视频| 欧美成人国产一区二区| 蜜桃久久av一区| 欧美欧美午夜aⅴ在线观看| 亚洲国产毛片aaaaa无费看| 91免费国产视频网站| 国产精品日产欧美久久久久| 国产高清精品久久久久| 26uuu另类欧美| 黑人精品欧美一区二区蜜桃| 欧美成人高清电影在线| 精品亚洲国内自在自线福利| 日韩一区二区电影网| 美女网站视频久久| 精品少妇一区二区三区免费观看| 欧美a级一区二区| 精品国产三级电影在线观看| 久久国产综合精品| 国产亚洲精品精华液| 国产99一区视频免费 | 美女一区二区久久| 精品少妇一区二区三区在线播放| 久久69国产一区二区蜜臀| 久久综合色之久久综合| 国产福利一区在线| 久久精品亚洲乱码伦伦中文| 高清不卡一区二区在线| 亚洲女爱视频在线| 欧美日韩不卡一区二区| 久久99久久精品| 中文一区二区完整视频在线观看| 成人av在线播放网站| 亚洲精品国产一区二区三区四区在线| 欧美亚一区二区| 秋霞影院一区二区| 精品久久久久久久久久久院品网| 韩日欧美一区二区三区| 中文字幕中文在线不卡住| 日本韩国精品一区二区在线观看| 性久久久久久久久久久久| 日韩欧美国产电影| 成人动漫精品一区二区| 亚洲一区欧美一区| 久久亚洲二区三区| 色八戒一区二区三区| 免费成人在线视频观看| 国产日韩亚洲欧美综合| 在线观看视频91| 韩国成人精品a∨在线观看| 亚洲欧美乱综合| 日韩美女视频在线| 99国产麻豆精品| 青娱乐精品视频在线| 国产精品伦一区二区三级视频| 欧美视频你懂的| 国产精品资源在线看| 亚洲高清免费观看高清完整版在线观看| 五月天激情综合| 久久影院视频免费| 欧美视频一区在线观看| 国产成人av电影在线播放| 亚洲成a人v欧美综合天堂下载| 久久久久久久电影| 欧美精品高清视频| 91欧美一区二区| 韩国一区二区在线观看| 亚洲成人激情自拍| 国产精品美女久久久久av爽李琼| 91精品蜜臀在线一区尤物| 91免费视频网| 国产不卡视频一区二区三区| 免播放器亚洲一区| 一区二区三区在线免费播放| 久久久国产精华| 欧美一区二区播放|