2018/4/2STM320.说在前面的前面:关于MCU(
微控制单元(Microcontroller Unit)又称单片微型计算机,简称:单片机
1.说在前面:时钟系统对于单片机的意义就相当于人类的心跳,时钟系统可以给予单片机一组精准的时序,让单片机可以稳定的工作,同时,可以只开启所使用的时钟,实现低功耗;
2.部分C语言的内容补充1.#ifdef的用法(在头文件上使用)预编译指令,用于宏定义,如果使用#ifdef,当某条件实现的时候对一组语句进行编译
#ifndefxxxxx
#define xxxxx
#endif xxxxxx
2.extern 关键字置于变量和函数前,表示变量和函数可以定义在别的文件上,然而在另外一个文件中进行引用;注意:可以多次定义,但是只能用一次申明3.static关键字具有锁数据的功能,数据不会随着程序的重复性而进行刷新;
3.时间树简介(!!!)在stm32中有五个时间器,分别为:
3-1.HSI(high speed inter) 高速内部时钟采用RC振荡器,频率为8mhz
3-2.HSE(high speed extern) 高速外部时钟可以接石英或者陶瓷谐振器,或者接上外界的时钟源,频率为4mhz到16mhz
3-3.LSI(low speed inter) 低速内部时钟采用RC振荡器,频率为40khz,可作为看门狗系统的时钟源和RTC(real time clock实时时钟)的时钟源
3-4.LSE(low speed extern)低速外部时钟接32.768khz的石英晶体,主要作为RTC的时钟源
3-5.PLL:锁环器实现倍频的功能(从频率*2到*16),通过控制相关寄存器实现,但是输出的频率不能大于72MHZ
4.时间树的一些基础原件4-1:MCOMCO是STM32的一种时间输出IO口(PA8),可以选择一个时钟信号输出(PLL的二分频,HSI HSE SYSCLK)
4-2:RTCRTC作为实时时钟,可以提供一个准确的实时时间
4-3:USBCLK在使用usb时,一定要让PLL作为时钟源,并且使能为48mhz或者72mhz
4-4:SYSCLK(系统时钟)1.ABPI分频器:上面连接着一些低速外设(CAN,USB,,UART2.......)
2.ABP2分频器:上面连接着一些高速外设(UART1,Timer1,所有的普通io口(PA到PE)第二功能IO口)
5.简单介绍一下配置:(基于库函数)1.初始化时间系统system_stm32f10x.c中的SystemInit()函数中;2.其他的配置在stm32f10x_rcc.c中
6.最后在说一句:时钟树图非常重要,所有的寄存器在使用之前必须要使能相应的时钟