1. 对于所有学习单片机的朋友们来说,跑马灯都是你们要接触的第一个程序.对于 STM32来
说,由于有官方库这种东西的出现,使得原来很麻烦的寄存器初始化变的相对简单.本节例
程主要让大家感受一下最基本的库操作 GPIO 的方法.DX32 所有的例子都是使用最新的
3.0 的库编译的.
2. 对于 STM32 的 ARM 来说,在所有外围开始工作之前,均需要设置 CPU 的运行频率.这个
设置频率的模块我们称之为 RCC.ST 官方库经历 1.0,2.0 再到了现在的 3.0. 而3.0 版的
库对 RCC 代码部分的改进最大,简单到只需要选择好宏定义,并且调用一个函数,就实现
了 CPU 运行频率,分频,外围器件频率的设定.
请参考 RCC.C 文件,用户只需要调用 SystemInit()库函数,则可实现 RCC 的设置.具体的速
度设定,则由 system_stm32f10x.c 文件中的宏定义设定,参考 system_stm32f10x.c 51 行
定义如下(例程中的库部分已经被加了注释):
//#define SYSCLK_FREQ_HSE HSE_Value //这个值系统默认为 8M
//#define SYSCLK_FREQ_20MHz 20000000
//#define SYSCLK_FREQ_36MHz 36000000
//#define SYSCLK_FREQ_48MHz 48000000
//#define SYSCLK_FREQ_56MHz 56000000
#define SYSCLK_FREQ_72MHz 72000000
可见,只要选择开放某个宏定义,则调用 SystemInit()库函数的时候,程序将把 CPU 的频率
设置好.大家可以试试改 CPU 频率,看看跑马灯的初始速度是否有变法了?
3. 第一次使用 3.0 的库,请再注意一个文件,就是 stm32f10x_conf.h 文件,留意 27 行以下
这是对于 CPU 内模块的定义,如果不使用,可以屏蔽掉.例如本例子只使用到 GPIO 和 RCC,则
其他模块可屏蔽掉.另外地,只要你使用了库,那么就一定要开放 RCC.
DX32文档
1/2
DX32 白菜的心得