做版主之后的第一个贴子
时间:10-02
整理:3721RD
点击:
2012的7月份,本该是乖乖的在做暑假工的,但是因为各种原因,和同学在广州被奸商坑了,身无分文、像个贼一样寄宿在广州的某个高校宿舍里,也是这个时候,我第一次来到这个论坛,在这个论坛上开始了我的单片机之旅,第一次知道这里有明星小组之后,我便决定日后一定要申请这里的明星小组。一直到今天,从一个年轻菜鸟变成了现在的还是菜鸟,我决定向论坛申请明星小组,最后管理员给了我一个机会,让我做单片机版小编,第一次做这么大的官,到现在还不太知道怎么管理,老对不起管理员了管理员让我发布一些自己做的练习....我对51单片机不精通,对AVR单片机也不精通,对STM32更不精通,因为对STM32比较感兴趣,所以想和大家一起来学习STM32
第一篇 STM32的时钟
从51和AVR突然间到了STM32,才发现STM32是多么的强大,时钟也需要配置,还那么的复杂..
这是STM32的时钟树,在配置时钟时,需要配置到AHB,也就是总线时钟。普遍的最小系统使用的是外部高速时钟,刚上电的时候单片机使用的是内部时钟,所以需要我们进行软件配置成外部时钟和设置频率
时钟的整个流向:时钟源从HSE OSC进来 -> 可分为3个方向,这里选择直接进入PLLXTPRE -> PLLSRC选择PLL时钟源 -> PLLMUL选择倍频数 ->
系统时钟源选择 -> AHB选择分频数 -> 时钟初始化配置大功告成
可以看出,要想达到初始化配置大功告成需要配置6次
第一次:打开外部时钟源,寄存器RCC_CR的第16位置位打开外部时钟源,17位硬件置位表示外部时钟源就绪。
编程:RCC->CR|=1<<16; //外部中时钟使能HSE ON
while(!((RCC->CR>>17)&0X01));//等待外部高速时钟就位
第二次:设置PLLXTPRE分频数,寄存器RCC_CFGR的第17位,这里设置成不进行分频
编程:RCC->CFGR&=~(1<<17);
第三次:选择PLL时钟源,寄存器RCC_CFGR第16位
编程: RCC->CFGR|=1<<16; //外部高速时钟作为 PLL输入,PLLSRC ON
第四次:选择PLL的倍频数,位21--18
编程,根据实际情况选择
第五次:系统时钟源选择 RCC_CFGR位【1:0】
编程:RCC->CFGR=0X00000002; //PLL作为时钟
第六次:打开PLL时钟,RCC_CR位26
编程:RCC->CR|=1<<24; //PLL ON
while(!((RCC->CR>>25)&0X01));//等待PLL锁定
就到这里,欢迎大家纠错
第一篇 STM32的时钟
从51和AVR突然间到了STM32,才发现STM32是多么的强大,时钟也需要配置,还那么的复杂..
这是STM32的时钟树,在配置时钟时,需要配置到AHB,也就是总线时钟。普遍的最小系统使用的是外部高速时钟,刚上电的时候单片机使用的是内部时钟,所以需要我们进行软件配置成外部时钟和设置频率
时钟的整个流向:时钟源从HSE OSC进来 -> 可分为3个方向,这里选择直接进入PLLXTPRE -> PLLSRC选择PLL时钟源 -> PLLMUL选择倍频数 ->
系统时钟源选择 -> AHB选择分频数 -> 时钟初始化配置大功告成
可以看出,要想达到初始化配置大功告成需要配置6次
第一次:打开外部时钟源,寄存器RCC_CR的第16位置位打开外部时钟源,17位硬件置位表示外部时钟源就绪。
编程:RCC->CR|=1<<16; //外部中时钟使能HSE ON
while(!((RCC->CR>>17)&0X01));//等待外部高速时钟就位
第二次:设置PLLXTPRE分频数,寄存器RCC_CFGR的第17位,这里设置成不进行分频
编程:RCC->CFGR&=~(1<<17);
第三次:选择PLL时钟源,寄存器RCC_CFGR第16位
编程: RCC->CFGR|=1<<16; //外部高速时钟作为 PLL输入,PLLSRC ON
第四次:选择PLL的倍频数,位21--18
编程,根据实际情况选择
第五次:系统时钟源选择 RCC_CFGR位【1:0】
编程:RCC->CFGR=0X00000002; //PLL作为时钟
第六次:打开PLL时钟,RCC_CR位26
编程:RCC->CR|=1<<24; //PLL ON
while(!((RCC->CR>>25)&0X01));//等待PLL锁定
就到这里,欢迎大家纠错
小伙子,加油
OK 会努力滴
不错的文件,值得收藏