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

2008-8-11 12:47 7167 13 16 分类: MCU/ 嵌入式

/*******************************************************************************
* 函数名称: 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点击下载请您在下载的同时到左上角顶我一下,以示支持!谢谢

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户369683 2011-10-18 18:38

值得一看......

用户1165169 2008-8-15 14:18

支持,可以转载吧!

用户1321576 2008-8-15 09:16

楼主辛苦啦 值得鼓励
相关推荐阅读
小可歌 2016-05-31 13:54
【转帖】模拟电路的四重境界
无意中看到这个文章,虽然自己也搞了4 年模电了,但后看完之后发现自己原来根本就没有入门阿!现发上来和大家共享!·············   复旦攻读微电子专业模拟芯片设计方向研究生开始到...
小可歌 2016-05-28 07:14
发帖庆祝用app inventor的录音机保存MP3格式录音成功!
看似简单的功能,可是把我难够呛,刚学APP INVENTOR没几天,手里的两本书翻来掉去的看了N遍。APP INVENTOR的录音机默认是保存录音文件为3GP格式,我想保存成MP3文件就没有地方找...
小可歌 2016-02-22 08:56
C语言Printf格式,调试最好的助手!
    C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为...
小可歌 2016-02-19 15:19
对于SRAM的地址线和数据线是可以打乱顺序用的!!!!
因为SRAM的地址具有唯一性,其实数据线也有唯一性。 也就是A0~A18,D0~D15,都是唯一的。 正常是:A0~A18,接FSMC的A0~A18。 D0~D15,接FSMC的D0~D15. 假...
小可歌 2016-02-02 11:29
Linux系统下基本命令
Linux系统下基本命令: 要区分大小写  uname 显示版本信息(同win2K的 ver)  dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir)  pwd...
小可歌 2016-02-02 11:28
DOS命令大全
对于一般的网民来说,dos命令是什么真的不知道,dos命令有些什么作用也不知道。但是黑客们却精通dos命令,经常利用dos命令进行各种任务,以达到自己的目的。下面笔者为大家汇总出dos命令大全,希...
EE直播间
更多
我要评论
3
13
关闭 站长推荐上一条 /3 下一条