
STM32固件库开发
工农村贴膜小哥
最喜欢贴膜了
展开
-
STM32串口功能
前言实现与电脑调试助手相互透传,通过电脑发送字符0,关闭LED,通过电脑发送字符1,打开LED。原理图1:使用D3,D3连接着PB14通用串口一连接PA9,PA10,TX输出,RX输入代码1,使能串口和GPIO时钟,2配置串口和GPIO3,配置中断,4写串口接收中断void GPIO_Config(){ GPIO_InitTypeDef GPIO_InitStrue; G...原创 2019-01-23 21:58:56 · 679 阅读 · 0 评论 -
文件系统源码剖析
主要介绍专门为小型的嵌入式系统而设计的基于FAT32的fatfs文件系统,。它完全用标准C 语言编写,可以轻松移植到8051、SH、 Z80、H8 和ARM 等系列单片机上。前言FAT结构和原理不会细讲,具体可以参考这一篇详解FAT32文件系统本文的文件系统会裁剪掉LFN,多分区,PAGE CODE等,源码解析的主要是核心源码,源码都有很详细的注释原理一 FAT文件系统的组织形式MB...原创 2019-03-20 22:06:55 · 1712 阅读 · 0 评论 -
SPI FLASH (一)
一 SPI 协议spi了解spi也叫串行外围设备接口,它具有高速,全双工,实时的特点,主要用在STM32连接FLASH,实时时钟,AD转换器,还有数字信号处理器等外设上。主从模式SPI没有发送者和接收者,它是一个环形结构,发送1Bit的数据同时也会接收1Bit的数据。SPI中将两者划分为主设备和从设备,可使用的连接方式:一主连一从或者一主连多从。通信的信号线实现完整的spi功能,需要4...原创 2019-02-24 21:10:57 · 2034 阅读 · 0 评论 -
RCC的复位和时钟
一 时钟STM32为了降低功耗,实现了比较复杂的时钟系统。在需要使用某个外设,需要启动时钟,也可以为了降低功耗,将一些时钟关闭。时钟树如下图,标记了红色,橙色和蓝色红色:为时钟的4个时钟源(HES)(HSI)(LSE)(LSI),stm32中有高速,低速两个时钟,可以外接高低两个时钟,高速外部时钟,可以接3-25MHZ振荡器,而往往接的是8mhz的。4个时钟都可以根据需要关闭或者开启。...原创 2019-01-27 15:26:30 · 1062 阅读 · 0 评论 -
STM32按键功能
一个STM32的入门,按键功能使用例子,GPIOB13连接LED,GPIOB1按键长按3秒进行软件复位,GPIOB15按键控制LED的开关。#include "stm32f10x.h" void GPIO_Config() { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode=GPIO...原创 2019-01-21 21:58:28 · 1044 阅读 · 0 评论 -
USART的寄存器
串口双向通信至少需要两个引脚 接收数据RX和发送数据TX串口外设主要由三部分组成,分别是波特率的控制部分,收发控制部分和数据存储转移部分波特率控制波特率也就是串口每秒传输的二进制位数,波特率的控制主要由波特率寄存器 USART_BRR,波特率寄存器(USARTDIV)由整数部分和小数部分构成收发控制收发控制主要由三个控制寄存器CR1,CR2,CR3以及一个状态寄存器SR主要关注SR的5...原创 2019-01-26 17:28:36 · 6015 阅读 · 0 评论 -
GPIO工作模式和寄存器
GPIO工作模式1、浮空输入模式 GPIO_Mode_IN_FLOATING引脚状态不确定,引脚悬空时,电平状态是不确定的值,可以做KEY识别,串口的RX12、模拟输入模式 GPIO_Mode_AINADC模拟输入,可以读取到细微变化的值3,4、带上拉、下拉输入模式 GPIO_Mode_IPD GPIO_Mode_IPU采用带上拉或者下拉输入的模式先给MCU一个确定的状态,当外...原创 2019-01-25 21:59:39 · 1348 阅读 · 0 评论 -
STM32延时功能
一非精确的延时一种不准确的方法,但却是最简单的。void LED_GPIO_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13; GPIO_InitStru...原创 2019-01-20 18:15:53 · 503 阅读 · 0 评论 -
STM32工程模板的建立使用
下载固件库点击选择需要的版本固件库下载,下载需要验证邮箱。http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip固件库构成下载后解压,得到如下,其中只有Libraries(保存驱动库的源代码和启动文件)和Project(保存一个例子和工程模板)是我们...原创 2019-01-23 21:59:42 · 796 阅读 · 0 评论 -
内存管理原理
一堆区管理内存管理也就是堆区的管理,不管是BSS还是栈区那些都由系统分配以及管理的,所以内存管理主要实现malloc以及free等函数,在代码运行时,分配和释放内存。二管理的原理#define BLOCK_SIZE 32 //内存块32字节#define MAX_SIZE 1024 //堆区分配1K字节 #define TABLE_SIZE MAX_SIZE/BLOCK_S...原创 2019-03-17 21:34:25 · 347 阅读 · 0 评论