- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 时钟操作LED
上一次已经知道固件库中是如何配置系统时钟的了,那么,如果想要按照自己的想法来配置一个超频或者低频的时钟,应该怎么办呢?同样的,我们将模板复制一份,然后在User目录中创建俩个目录,一个RCC目录下创建rcc.c和rcc.h,一个LED目录下创建led.c和led.h,然后导入工程当中,在魔棒中指定他们的路径。在这里我们使用HSE来设置系统时钟,当然,也可以使用HSI或者PLL来设置系统时钟。...
2019-12-31 21:30:44 216
原创 时钟树的认识及固件库中时钟的配置
由开发板的原理图可知,开发板使用的外源晶振是8MHZ。接入到OSC_IN和OSC_OUT,同时,并不存在OSC32_IN和OSC32_OUT这俩个引脚,又有XTIN和XTOUT俩个引脚接了6MHZ的晶振。1.HSE:高速的外部时钟,一般是8M的晶振RCC时钟控制寄存器的位16,即HSEON:外部高速时钟使能HSERDY:外部高速时钟就绪标志,当HSEON置1,使HSE使能, HSERDY...
2019-12-31 13:52:50 671
原创 固件库编程(3)--位带操作
参考文献:Cortex-M3权威指南(中文)第5.5章STM32中文参考手册_V10第2.3.2章位线操作是把寄存器中的某个位单独拿出来,放在位带区,并且在位带别名区重新膨胀为1个字,但只能对这个位进行操作。通过访问位带别名区来访问某个单独的位。位带区的每一个位都是通过对位带别名区的地址来访问。位带区一个位,对应位带别名区一个字(即4个字节)在 CM3中,有两个区中实现了位带。其中一个是 ...
2019-12-27 19:48:25 302 1
原创 固件库编程(2)按键检测--stm32f103rbt6
由原理图可以得知:四个按键k1,k2,k3,k4分别对应GPIOA的引脚0和8,GPIOB的引脚1和2,而按键是向开发板输入信息的,因此GPIO模式应该选择输入的方式,由原理图,我们发现,应该是上拉输入的方式,而且由于没有电容存在,不存在硬件消抖,因此,需要使用软件消抖的方式,如延时读取...
2019-12-27 10:47:53 710
原创 固件库编程初始,点亮LED--stm32f103rbt6
本次主要是使用固件库来实现LED的点亮工程文件直接使用复制上一次建的工程使用即可,在User下建一个LED的文件夹,里面存放led.c和led.h俩个文件,并加载到工程当中。没啥好说的,就是用固件库的函数,详情的话,我是看的野火的第19节视频1.led.c#include "led.h"void LED_GPIO_Config(void){ GPIO_InitTypeDef GPI...
2019-12-26 20:41:45 953
原创 固件库文件解析及构建工程
本文是我在看野火视频时的笔记一、汇编语言编写的启动文件:stm32f103rbt6使用的是128kb的flash,因此,应该使用的文件是startup_stm32f10x_md.s主要作用:设置堆栈指针,PC指针,初始化中断向量表,配置系统时钟,调用c语言的_main前往c语言部分执行。二、配置系统时钟的时钟配置文件使用的文件是system_stm32f10x.c主要...
2019-12-26 16:58:02 463 1
原创 从寄存器到固件库--stm31f103RBT6
一、寄存器结构体定义好处:GPIO有A、B、C、D等等的端口,每个端口都有相同配置的寄存器,使用结构体只需要写一次结构体,就可以使结构体指针变量指向GPIO口的基地址,结构体成员会自动顺序分配地址如果不了解结构体为什么实现,建议先学c语言。。。#define PERIPH_BASE ((unsigned int)0x40000000)//总线#define APB1PERI...
2019-12-26 13:33:22 440 1
原创 寄存器初识----stm32f103rbt6
(由于第一次在自带的浏览器写,结果在粘贴代码时网页卡死,没有保存。。。所以没了。。。这是第二次写,所以介绍简略了许多)目的:通过对寄存器的操作,点亮LED;参考文档:国信长天嵌入式竞赛平台原理图,stm32f103rbt6 ,STM32中文参考手册_V10,Cortex-M3权威指南(中文)通过对文档的翻阅,我们知道了LED1-8使用的是开发板的PC8-15;即GPIO的C端口的第8-15...
2019-12-23 20:36:04 1549
模拟升降控制器.rar
2020-02-09
液位检测告警系统.rar
2020-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人