EDN首页   博客首页

日志档案

发表于 2008-8-11 12:47:14

13

标签: STM32F  中文  汉化  固件库  RCC  

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

/*******************************************************************************
* 函数名称: RCC_DeInit
* 功能描述: 复位RCC外围设备寄存器到默认复位值.
* 输入参数: 无
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void RCC_DeInit(void)
{
  /* Set HSION bit [置位HSION]*/
  RCC->CR |= (u32)0x00000001;

  /* Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], ADCPRE[1:0] and MCO[2:0] bits
  *      [复位SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], ADCPRE[1:0] 和 MCO[2:0]位]*/
  RCC->CFGR &= (u32)0xF8FF0000;
 
  /* Reset HSEON, CSSON and PLLON bits [复位HSEON, CSSON 和 PLLON位]*/
  RCC->CR &= (u32)0xFEF6FFFF;

  /* Reset HSEBYP bit [复位HSEBYP 位]*/
  RCC->CR &= (u32)0xFFFBFFFF;

  /* Reset PLLSRC, PLLXTPRE, PLLMUL[3:0] and USBPRE bits [复位PLLSRC, PLLXTPRE, PLLMUL[3:0]和USBPRE 位]*/
  RCC->CFGR &= (u32)0xFF80FFFF;

  /* Disable all interrupts [禁止所有中断]*/
  RCC->CIR = 0x00000000;
}

/*******************************************************************************
* 函数名称: RCC_HSEConfig
* 功能描述: 配置外部高速振荡器(HSE)
*                  HSE can not be stopped if it is used directly or through the
*                  PLL as system clock[HSE如果直接或者通过PLL当作系统时钟的时候是不能被停下来的].
* 输入参数: RCC_HSE:HSE的新状态.
*                    这个参数可以是下面的值之一:
*                       - RCC_HSE_OFF: HSE oscillator OFF[HSE振荡器关闭]
*                       - RCC_HSE_ON: HSE oscillator ON[HSE振荡器开启]
*                       - RCC_HSE_Bypass: HSE oscillator bypassed with external
*                         clock[伴随外部时钟的HSE振荡器]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void RCC_HSEConfig(u32 RCC_HSE)
{
  /* Check the parameters [检查参数]*/
  assert_param(IS_RCC_HSE(RCC_HSE));

  /* Reset HSEON and HSEBYP bits before configuring the HSE [在配置HSE之前复位 HSEON和HSEBYP位]*/
  /* Reset HSEON bit [复位HSEON 位]*/
  RCC->CR &= CR_HSEON_Reset;

  /* Reset HSEBYP bit [复位HSEBYP 位]*/
  RCC->CR &= CR_HSEBYP_Reset;

  /* Configure HSE (RCC_HSE_OFF is already covered by the code section above) [配置HSE(RCC_HSE_OFF已经被部分代码上隐藏)]*/
  switch(RCC_HSE)
  {
    case RCC_HSE_ON:
      /* Set HSEON bit [置位HSEON]*/
      RCC->CR |= CR_HSEON_Set;
      break;
     
    case RCC_HSE_Bypass:
      /* Set HSEBYP and HSEON bits [置位HSEBYP和HSEON]*/
      RCC->CR |= CR_HSEBYP_Set | CR_HSEON_Set;
      break;           
     
    default:
      break;     
  }
}

完整stm32f10x_rcc.c点击下载请您在下载的同时到左上角顶我一下,以示支持!谢谢

系统分类: 单片机   |   用户分类: STM32F   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(584)    回复(2)  

投一票您将和博主都有获奖机会!

  • jgw

    2008-8-15 9:16:08

    楼主辛苦啦 值得鼓励

  • lhzw2001

    2008-8-15 14:18:56

    支持,可以转载吧!