控制工程师论坛

教程与手册

汉化STM32F2.02版固件库之十(PWR)

常青树
常青树

2008-10-14


/* 自用宏 --------------------------------------------------------------------*/
/* 自用变量 ------------------------------------------------------------------*/
/* 自用函数原型 --------------------------------------------------------------*/
/* 自用函数 ------------------------------------------------------------------*/

/*******************************************************************************
* 函数名称: PWR_DeInit
* 功能描述: 复位PWR外围寄存器为默认复位值.
* 输入参数: 无
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void PWR_DeInit(void)
{
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, ENABLE);
  RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, DISABLE);
}

/*******************************************************************************
* 函数名称: PWR_BackupAccessCmd
* 功能描述: 使能或关闭对RTC和备份寄存器的访问。
* 输入参数: NewState:访问RTC和备份寄存器的新状态。这个参数可以是:ENABLE或DISABLE
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void PWR_BackupAccessCmd(FunctionalState NewState)
{
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));

  *(vu32 *) CR_DBP_BB = (u32)NewState;
}

/*******************************************************************************
* 函数名称: PWR_PVDCmd
* 功能描述: 使能或关闭电源电压探测器(PVD)。
* 输入参数: NewState:PVD的新状态。这个参数可以是:ENABLE或DISABLE.
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void PWR_PVDCmd(FunctionalState NewState)
{
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));

  *(vu32 *) CR_PVDE_BB = (u32)NewState;
}

/*******************************************************************************
* 函数名称: PWR_PVDLevelConfig
* 功能描述: 配置由电源电压探测器探测的电压门限值(PVD).
* 输入参数: PWR_PVDLevel:PVD探测电平。
*                    这个参数可以取下面的值之一:
*                       - PWR_PVDLevel_2V2: PVD探测电平设置为 2.2V
*                       - PWR_PVDLevel_2V3: PVD探测电平设置为 2.3V
*                       - PWR_PVDLevel_2V4: PVD探测电平设置为 2.4V
*                       - PWR_PVDLevel_2V5: PVD探测电平设置为 2.5V
*                       - PWR_PVDLevel_2V6: PVD探测电平设置为 2.6V
*                       - PWR_PVDLevel_2V7: PVD探测电平设置为 2.7V
*                       - PWR_PVDLevel_2V8: PVD探测电平设置为 2.8V
*                       - PWR_PVDLevel_2V9: PVD探测电平设置为 2.9V
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void PWR_PVDLevelConfig(u32 PWR_PVDLevel)
{
  u32 tmpreg = 0;

  /* Check the parameters [检查参数]*/
  assert_param(IS_PWR_PVD_LEVEL(PWR_PVDLevel));

  tmpreg = PWR->CR;

  /* Clear PLS[7:5] bits [清零PLS[7:5]位]*/
  tmpreg &= CR_PLS_Mask;

  /* Set PLS[7:5] bits according to PWR_PVDLevel value [依照PWR_PVDLevel的值置位PLS[7:5]]*/
  tmpreg |= PWR_PVDLevel;

  /* Store the new value [保存新的值]*/
  PWR->CR = tmpreg;
}
完整stm32f10x_pwr.c,请您在下载的同时到左上角顶我一下,以示支持!谢谢

点击此处查看原文 >>

回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China