摘要: 之前的推文中说到,当使用一个外设时,必须先使能它的时钟。怎么通过库函数使能时钟呢?如需了解寄存器配置时钟,可以参考《STM32F10x中文参考手册》“复位和时钟控制(RCC)”章节,其中有详细的寄存器介绍。固件库已经把时钟相关寄存器的使能配置都封装好,放在stm32f10x_rcc.c和stm32f 阅读全文
posted @ 2020-11-01 13:45 STM32嵌入式开发 阅读(3630) 评论(0) 推荐(0) 编辑
摘要: 在时钟树的讲解中我们知道,通过修改PLLMUL中的倍系数值(2-16)可以改变系统的时钟频率。在库函数中也有对时钟倍频因子配置的函数,如下: void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul); 第一个参数是PLL时钟源选择 阅读全文
posted @ 2020-11-01 13:44 STM32嵌入式开发 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行。时钟系统犹如人的心脏,一旦有问题整个系统就崩溃。我们知道STM32属于高级单片机,其内部有很多的外设,但不是所有外设都使用同一时钟频率工作,比如内部看门狗和RTC,它只需30KHz的时钟频率即可工作,所以内部 阅读全文
posted @ 2020-11-01 13:43 STM32嵌入式开发 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main。那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit( 阅读全文
posted @ 2020-11-01 13:41 STM32嵌入式开发 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 要点亮LED,需要完成LED的驱动, 在工程模板上新建一个led.c和led.h文件,将其存放在led文件夹内。这两个文件需要我们自己编写。 通常xxx.c文件用于存放编写的驱动程序,xxx.h文件用于存放xxx.c内的stm32头文件、管脚定义、全局变量声明、函数声明等内容。 因此在led.c文件 阅读全文
posted @ 2020-11-01 13:38 STM32嵌入式开发 阅读(1462) 评论(0) 推荐(1) 编辑
摘要: 已经对启动文有了大致了解,再来看看系统在复位过程中做了哪些工作。复位程序如下: 1 ; Reset handler 2 3 Reset_Handler PROC 4 5 EXPORT Reset_Handler [WEAK] 6 7 IMPORT SystemInit 8 9 IMPORT __ma 阅读全文
posted @ 2020-11-01 13:37 STM32嵌入式开发 阅读(1132) 评论(0) 推荐(0) 编辑
摘要: 电路图分析 首先找来单片机的原理图,根据原理图进行相关的设计工作。 例如在上图中相同网络标号表示它们是连接在一起的,因此D1发光二极管阴极是连接在STM32的PC0管脚上,D2指示灯阴极连接在PC1管脚上,其他LED管脚以此类推。如果要使D1指示灯亮,只需要控制PC0管脚输出低电平, 如果要使D1指 阅读全文
posted @ 2020-11-01 13:35 STM32嵌入式开发 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 在启动文件内部使用的都是汇编语言,这个文件的作用是负责执行微控制器从“复位”到“开始执行 main 函数”中间这段启动时间所必须进行的工作。它完成的具体工作有: 初始化堆栈指针SP=_initial_sp 初始化PC指针=Reset_Handler 初始化中断向量表 配置系统时钟 调用C库函数_ma 阅读全文
posted @ 2020-11-01 13:34 STM32嵌入式开发 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 已经介绍了过了CMSIS标准,ST公司按照这个标准设计了一套基于STM32F10x的固件库,我们可以直接在ST公司的官网进行下载,现在给大家STM32最新固件库v3.5,在网盘上给大家提供了下载包,链接及提取码如下。 链接:http://pan.baidu.com/s/1nuXXLt3 密码:wzt 阅读全文
posted @ 2020-10-25 17:47 STM32嵌入式开发 阅读(4146) 评论(0) 推荐(0) 编辑
摘要: 在前面文件夹介绍时,提到了stm32f10x_stdperiph_lib_um.chm文件,此文件是库函数使用帮助文档,可以直接打开如下图。 因为STM32库函数非常多,我们不可能把所有的外设函数都记住,那么这个帮助文档就是学习STM32库函数时所必备的, 所以要学会如何在这个帮助文档内查找函数。使 阅读全文
posted @ 2020-10-25 17:44 STM32嵌入式开发 阅读(1444) 评论(0) 推荐(0) 编辑