没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
基于 stm32 3.1.0 的库的建工程图文讲解
近日在调试 微芯力科的板子 发现 st 的库 已经到 3.1.0 了 我也不能落后呀!开始我的
3.1.0 建工程笔记
首先我们先看看 3.1.0 的文件结构和以前 2.0 有什么不同:
1. startup_stm32f10x_xx.s 启动文件 ;里面定义了启动地址和中断的入口 他分别对大、中、小 以及 互
联产品写了不同的启动文件。在建工程的时候 我们按照我们使用的芯片选择相应的文件即可。
这个文件和 2.0 的 stm32f10x_vector.c 文件作用是一样的
2 core_cm3.c 定义了很多在不同调试器下的汇编语言读写内核寄存器的标号 他和 2.0 的 cortexm3_macro.s
文件做的工作是一样的
3 在 3.1.0 里面 多了一个 system_stm32f10x.c 系统初始化文件,主要是对系统 rcc 的初始化 我们只需要改
变文件上面的一些定义 就能完成我们的时钟配置。
如:我们要设置 72m
/* #define SYSCLK_FREQ_HSE HSE_Value */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
如果要定义外部 sram 来存储数据 就把下面的的#define DATA_IN_ExtSRAM 打开 注意这个只能是大容
量下才可以使用
/*!< Uncomment the following line if you need to use external SRAM mounted
on STM3210E-EVAL board (STM32 High density devices) as data memory */
#ifdef STM32F10X_HD
/* #define DATA_IN_ExtSRAM */
#endif /* STM32F10X_HD */
这样我们就可以在主函数中直接调用一个 SetSysClock()函数就能完成
还有一点需要注意的就是 外部时钟的定义 因为很多算波特率或者时钟的计算都要使用这个参数,这个就
是上面的 HSE_Value 这个值在 stm32f10x.h 里面有定义:
#if !defined HSE_Value
#ifdef STM32F10X_CL 互联性用到的晶振
#define HSE_Value ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#else
#define HSE_Value ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* STM32F10X_CL */
#endif /* HSE_Value */
我们可以根据我们使用的外部晶振作修改这个值。
说到这里 在说一下这个文件里面定义的其他一些东西:
1 定义使用的芯片类型 下面以中型密度为例
#if !defined (STM32
F10X_LD) && !defined (STM32F10X_MD) && !defined (STM32F10X_HD)
&& !defined (STM32F10X_CL)
/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */
#define STM32F10X_MD /*!< STM32F10X_MD: STM32 Medium density devices */
/* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */
资源评论
- 幸会2013-06-25不错,思路清晰。
dongxiao008
- 粉丝: 3
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功