
STM32-固件库
文章平均质量分 89
STM32
没霖好叫咩
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
野火学习笔记(15) —— I2C —— 读写 EEPROM
这里写目录标题1. I2C 协议简介1.1 I2C 物理层1.2 协议层1.2.1 I2C 基本读写过程1.2.2 通讯的起始和停止信号1.2.3 数据有效性1.2.4 地址及数据方向1.2.5 响应2. STM32 的 I2C 特性及架构2.1 STM32 的 I2C 外设简介2.2 STM32 的 I2C 架构剖析2.2.1 通讯引脚2.2.2 时钟控制逻辑2.2.3 数据控制逻辑1. I2C 协议简介I2C 通讯协议 (Inter - Integrated Circuit) 是由 Phiil原创 2021-10-23 16:12:11 · 6332 阅读 · 2 评论 -
野火学习笔记(14) —— DMA —储区访问
文章目录1. DMA 简介2. DMA 功能框图2.1 ① DMA 请求2.2 ② 通道2.3 ③ 仲裁器3. DMA 数据配置3.1 从哪里来到哪里去3.2 要传多少,单位是什么3.3 什么时候传输完成4. DMA 初始化结构体详解5. DMA 存储器到存储器模式实验1. DMA 简介DMA(Direct Memory Access) —直接存储器存取,是单片机的一个外设,它的主要功能是用来搬数据,但是不需要占用 CPU,即在传输数据的时候, CPU 可以干其他的事情,好像是多线程一样。数据传输原创 2021-09-07 14:15:45 · 2589 阅读 · 0 评论 -
野火学习笔记(13) —— USART —串口通讯
文章目录1. 串口通讯协议简介1.1 物理层1.1.1 电平标准1.1.2 RS-232 信号线1.2 协议层1.2.1 波特率1.2.2 通讯的起始和停止信号1.2.3 有效数据1.2.4 数据校验2. STM32 的 USART 简介3. USART 功能框图3.1 校验控制3.2 中断控制4. USART 初始化结构体详解5. USART1 接发通信实验5.1 硬件设计5.2 软件设计5.2.1 编程要点5.2.2 代码分析1. 串口通讯协议简介串口通讯 (Serial Communica原创 2021-07-21 09:48:06 · 14250 阅读 · 2 评论 -
野火学习笔记(12) —— 通讯的基本概念
文章目录1. 串口通讯协议简介2. 全双工、半双工及单工通讯3. 同步通讯与异步通讯4. 通讯速率1. 串口通讯协议简介按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线 (一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用 8、 16、 32 及 64 根或更多的数据线进行传输的通讯方式,它们的通讯传输对比说明见图并行通讯与串行通讯的对比图 ,并行通讯就像多个车道的公路,可以同时传输多个数据位的数据,而串原创 2021-07-20 10:26:36 · 417 阅读 · 0 评论 -
野火学习笔记(10) —— EXTI ——外部中断/事件控制器
文章目录1. EXTI 简介2. EXTI 功能框图3. 中断/事件线4. EXTI 初始化结构体详解5. 外部中断控制实验5.1 硬件设计5.2 软件设计5.2.1 编程要点5.2.2 软件分析1. EXTI 简介EXTI(External interrupt/event controller) —— 外部中断/事件控制器, 管理了控制器的 20 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。 EXTI 可以实现对每个中断/事件线进行单独配置原创 2021-07-17 15:50:47 · 2858 阅读 · 3 评论 -
野火学习笔记(8) —— RCC —— 使用 HSE/HSI 配置时钟
文章目录1. RCC 主要作用——时钟部分2. RCC 框图剖析—时钟部分2.1 系统时钟① HSE 高速外部时钟信号② PLL 时钟源RCC : reset clock control 复位和时钟控制器。1. RCC 主要作用——时钟部分设置系统时钟 SYSCLK、设置 AHB 分频因子(决定 HCLK 等于多少) 、 设置 APB2 分频因子(决定 PCLK2 等于多少)、设置 APB1 分频因子(决定 PCLK1 等于多少)、设置各个外设的分频因子;控制 AHB、 APB2 和 APB1原创 2021-07-16 11:09:05 · 2435 阅读 · 2 评论 -
野火学习笔记(7) —— GPIO ——位带操作
文章目录1. 位带简介1.1 外设位带区1.2 SRAM 位带区1.3 位带区和位带别名区地址转换2. GPIO 位带操作2.1 GPIO 寄存器映射2.2 GPIO 位操作2.3 主函数2.4 代码整理这章看得不是很懂,大致的意思是对单个 GPIO 口进行电平控制。1. 位带简介位操作就是可以单独的对一个比特位读和写,这个在 51 单片机中非常常见。 51 单片机中通过关键字 sbit 来实现位定义, STM32 没有这样的关键字,而是通过访问位带别名区来实现。在 STM32 中,有两个地原创 2021-07-13 19:27:36 · 4327 阅读 · 11 评论 -
笔记(6) —— GPIO检测高低电平
文章目录一、适用功能二、 硬件设计(参考)三、 软件设计① 使用到的固件库文件② 代码整理一、适用功能检测按键,光电开关,水位传感器等检测 GPIO 输入电平信号。二、 硬件设计(参考)三、 软件设计① 使用到的固件库文件#include stm32f10x_gpio.c/stm32f10x_gpio.h#include stm32f10x_rcc.c/stm32f10x_rcc.h② 代码整理delay.h#ifndef __DELAY_H#define __原创 2021-07-13 15:44:11 · 12144 阅读 · 0 评论 -
野火学习笔记(6) —— GPIO 输入 —— 按键检测
文章目录1. 硬件设计2. 软件设计2.1 编程要点2.2 代码分析2.2.1 按键引脚宏定义2.2.2 按键 GPIO 初始化函数2.2.3 检测按键的状态2.2.4 主函数2.2.5 代码整理1. 硬件设计按键机械触点断开、闭合时,由于触点的弹性作用,按键开关不会马上稳定接通或一下子断开,使用按键时会产生 图 13-1 中的带波纹信号,需要用软件消抖处理滤波,不方便输入检测。本实验板连接的按键带硬件消抖功能,见 图 13-2 ,它利用电容充放电的延时,消除了波纹,从而简化软件的处理,软件只需要原创 2021-07-13 11:29:36 · 9872 阅读 · 1 评论 -
笔记(5) —— GPIO 输出高低电平
文章目录一、 适用功能二、 硬件设计(参考)三、 软件设计① 使用到的固件库文件② 代码整理一、 适用功能GPIO 翻转、LED 闪烁、无源蜂铃器、跑马灯等 GPIO 输出高低电平控制。二、 硬件设计(参考)三、 软件设计① 使用到的固件库文件#include stm32f10x_gpio.c /stm32f10x_gpio.h#include stm32f10x_rcc.c/stm32f10x_rcc.h② 代码整理led.h#ifndef _led_H#defi原创 2021-07-13 09:46:30 · 6897 阅读 · 0 评论 -
野火学习笔记(5) —— GPIO 输出—使用固件库点亮 LED
文章目录1. 硬件设计2. 软件设计2.1 编程要点2.2 代码分析2.2.1 LED 灯引脚宏定义2.2.2 控制 LED 灯亮灭状态的宏定义2.2.3 LED GPIO 初始化函数2.2.4 主函数2.2.5 文件整理3. STM32 标准库补充知识3.1 SystemInit 函数去哪了?3.2 断言3.3 Doxygen 注释规范3.4 防止头文件重复包含1. 硬件设计在本教程中 STM32 芯片与 LED 灯的连接见 图 12-1,这是一个 RGB 灯,里面由红蓝绿三个小灯构成, 使用原创 2021-07-12 16:28:15 · 5032 阅读 · 10 评论 -
野火学习笔记(4) —— 固件库
文章目录- 自己写库—构建库函数雏形1. 什么是 STM32 函数库2. 为什么采用库来开发及学习?3. 实验:构建库函数雏形3.1 外设寄存器结构体定义3.2 外设存储器映射3.3 外设声明3.4 定义位操作函数3.5 定义初始化结构体 GPIO_InitTypeDef3.6 定义引脚模式的枚举类型3.7 定义 GPIO 初始化函数3.8 全新面貌,使用函数点亮 LED 灯3.9 总结- 初识 STM32 标准库1. CMSIS 标准及库层次关系1.1 库目录、文件简介1.1.1 CMSIS 文件夹1.1原创 2021-07-12 15:23:01 · 2140 阅读 · 0 评论 -
野火学习笔记(3) —— 使用寄存器点亮 LED 灯
文章目录1. GPIO 简介2. GPIO 框图剖析2.1 基本结构分析2.2 GPIO 工作模式3. 实验:使用寄存器点亮 LED 灯3.1 硬件连接3.2 启动文件3.3 stm32f10x.h 文件3.4 main 文件1. GPIO 简介GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚, STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚,如型号为 S原创 2021-07-12 10:53:37 · 6015 阅读 · 9 评论 -
野火学习笔记(2) —— 映射
文章目录1. 存储器映射1.1 存储器映射1.1.1 存储器区域功能划分2. 寄存器映射2.1 STM32 的外设地址映射2.2 外设基地址2.3 外设寄存器1. 存储器映射被控单元的 FLASH, RAM, FSMC 和 AHB 到 APB 的桥(即片上外设),这些功能部件共同排列在一个 4GB 的地址空间内。我们在编程的时候,可以通过他们的地址找到他们,然后来操作他们(通过 C 语言对它们进行数据的读和写)。1.1 存储器映射存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存原创 2021-07-10 10:44:08 · 612 阅读 · 1 评论 -
野火学习笔记(1) —— 芯片里面有什么
1. ICode 总线ICode 中的 I 表示 Instruction,即指令。我们写好的程序编译之后都是一条条指令,存放在 FLASH 中,内核要读取这些指令来执行程序就必须通过 ICode 总线,它几乎每时每刻都需要被使用,它是专门用来取指的。2.驱动单元DCode 总线DCode 中的 D 表示 Data,即数据,那说明这条总线是用来取数的。我们在写程序的时候,数据有常量和变量两种,常量就是固定不变的,用 C 语言中的 const 关键字修饰,是放到内部的 FLASH 当中的,原创 2021-07-10 09:30:27 · 990 阅读 · 0 评论