G
N
I
D
A
O
L

随笔分类 -  【嵌入式】STM32学习笔记

摘要:目录一、Flash的基本知识1. Flash概要2. Flash的存储方式与读写特性二、Flash芯片介绍:W25Q641. 引脚说明2. 状态寄存器(STATUS REGISTER)BUSY位3. 命令(INSTRUCTIONS)三、使用 STM32 读写 Flash1. 初始化 SPI 结构体2 阅读全文
posted @ 2025-08-01 21:51 漫舞八月(Mount256) 阅读(749) 评论(0) 推荐(0)
摘要:目录一、SPI协议简介1. 物理层2. 协议层(1) 通讯的开始与停止(2)时钟极性CPOL、时钟相位CPHA二、STM32的SPI外设1. 通讯引脚2. 时钟控制逻辑3. 数据控制逻辑4. 整体控制逻辑5. STM32的SPI通讯过程(1)从主机发送数据到从机的详细过程(以 CPHA=1、CPOL 阅读全文
posted @ 2025-08-01 21:40 漫舞八月(Mount256) 阅读(901) 评论(0) 推荐(0)
摘要:目录一、ADC 中断实验1. adc.h2. adc.c3. stm32f10x_it.c4. main.c二、ADC_DMA 实验1. ADC_DMA 单通道实验(1)adc.h(2)adc.c2. ADC_DMA 多通道实验(1)ADC 通道数、规则通道的配置修改(2)DMA 部分修改三、双 A 阅读全文
posted @ 2025-08-01 21:31 漫舞八月(Mount256) 阅读(206) 评论(0) 推荐(0)
摘要:这个月一直忙于准备考试,已经考完一半科目了,偷闲写了这篇文章。因为还没考完试,估计还得咕一段时间了。 目录第一部分:ADC功能框图一、输入电压二、输入通道三、规则通道四、注入通道五、触发源1. 软件触发2. 外部事件触发六、转换时间六、数据寄存器1. 数据规则寄存器(ADC_DR)2. 数据注入寄存 阅读全文
posted @ 2025-08-01 21:30 漫舞八月(Mount256) 阅读(315) 评论(0) 推荐(0)
摘要:三、高级定时器——PWM互补输出 【实现功能】通过使用高级定时器 TIM1 的输出通道 CH1,输出一对互补信号 PWM。要求占空比为 50%。 【基本思路】查看原理图,在 STM32F103ZE 中,高级定时器 TIM1 的输出通道 1 对应的引脚是 PA8,互补输出通道 1 对应的引脚是 PB1 阅读全文
posted @ 2025-08-01 21:20 漫舞八月(Mount256) 阅读(146) 评论(0) 推荐(0)
摘要:前排提示一下:这些代码都是本人跟着野火的教程视频写的(与野火的例程会有出入),编程思路则由本人编写。 之前我们已经详细过了一遍高级定时器的功能框图,现在来简要说一下其他定时器。STM32 有三种定时器,定时器分类如下: 其中,高级定时器(定时、输出比较、输入捕获、互补输出) 的功能最齐全,其次是通用 阅读全文
posted @ 2025-08-01 21:09 漫舞八月(Mount256) 阅读(243) 评论(0) 推荐(0)
摘要:前排提示:本笔记参考了野火PPT的大部分内容。 STM32F103系列有8个定时器,其中分为2个高级定时器,4个通用定时器、2个基本定时器。 下面为高级定时器TIM功能框图(来自野火PPT),由于高级定时器功能相当复杂,因此本文将大篇幅介绍每种功能(定时、输入捕获、输出比较、刹车输入)。我们将功能框 阅读全文
posted @ 2022-02-18 22:25 漫舞八月(Mount256) 阅读(3655) 评论(2) 推荐(0)
摘要:一、概述 1. 背景介绍 在微机发展的早期,出现了BIOS(Basic Input Output System),它是个人电脑启动时加载的第一个软件,用来完成对系统的加电自检、各功能模块的初始化、基本输入输出的驱动程序及引导操作系统。人们希望掉电之后 BIOS 数据不能丢失,于是将 BIOS 烧录到 阅读全文
posted @ 2021-08-16 10:45 漫舞八月(Mount256) 阅读(5136) 评论(2) 推荐(0)
摘要:一、I2C协议简介 I2C通讯协议 (Inter-Integrated Circuit,读作I平方C、I方C) 是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路间的通讯。 1. 物理层 (感谢 阅读全文
posted @ 2021-07-12 15:49 漫舞八月(Mount256) 阅读(1403) 评论(0) 推荐(0)
摘要:一、DMA简介 可参考STM32中文参考手册第10章DMA控制器。 直接存储器存取(Direct Memory Access,DMA) 用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。DMA 传输方式无 阅读全文
posted @ 2021-06-15 11:44 漫舞八月(Mount256) 阅读(1056) 评论(0) 推荐(1)
摘要:一、基础知识 本节主要写一下通信的一些基础知识,简单过一遍,防忘。 1. 通信基本知识 (1)数据传送方式 分类:串行和并行。 (2)数据通信方向 分类:全双工、半双工和单工。 (3)数据同步方式 分类:同步和异步。 (4)通信速率 比特率(Bitrate):每秒钟传输的二进制位数,单位为比特每秒( 阅读全文
posted @ 2021-05-26 21:04 漫舞八月(Mount256) 阅读(4078) 评论(0) 推荐(0)
摘要:单独拿出来讲的一个内核外设(所以不要期望在STM32中文参考手册找到它!即使找到也只会叫你看cm3内核编程手册),说明它真的很重要。 一、系统定时器Systick 1. SysTick简介 SysTick是一个24位的系统节拍定时器,具有自动重载和溢出中断功能,所有基于Cortex M3或Corte 阅读全文
posted @ 2021-05-19 18:29 漫舞八月(Mount256) 阅读(3022) 评论(0) 推荐(3)
摘要:一、NVIC中断优先级管理 1. 中断简介 在Cortex-M3(CM3)内核中,每个中断的优先级都是用寄存器中的8位来设置的,这样就有2^8 =256级中断,意味着可以支持256个中断,这其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但许多芯片厂商并没有使用CM3内 阅读全文
posted @ 2021-05-07 13:51 漫舞八月(Mount256) 阅读(4584) 评论(0) 推荐(1)
摘要:一、STM32时钟系统 1. STM32时钟系统框图 STM32的时钟系统非常强大,但也非常复杂。下面为时钟树: 下面分别介绍图中的各个元素 (STM32中文参考手册6.2节时钟): (1)最左边 最左边的OSC_IN和OSC_OUT是两个引脚,默认是外部晶振引脚。(我们的板子接了8MHz的晶振,数 阅读全文
posted @ 2021-04-29 11:05 漫舞八月(Mount256) 阅读(1093) 评论(0) 推荐(0)
摘要:零、按键基本认识 1、防抖 按键机械触点断开、闭合的时候,由于触点的弹性作用,按键开关不会马上稳定接通或一下子断开,而是会产生一些波纹信号,这些波纹信号会干扰高低电平的判断。如下图所示,在按键按下的前后均有信号抖动: 为了解决这个问题,有一些电路自带消抖功能,利用电容充放电的延时,消除了干扰波纹,从 阅读全文
posted @ 2021-04-17 21:37 漫舞八月(Mount256) 阅读(1537) 评论(0) 推荐(0)
摘要:阅读前提示: 我们使用的板子是正点原子的ALIENTEK精英STM32F103。本文使用固件库进行编程,因为使用固件库编程较为方便,且阅读程序也较易理解。 (STM32学习笔记(1)——LED和蜂鸣器) 零、GPIO简介及其库函数 1. GPIO简介 7组IO口(具体地址可见头文件stm32f10x 阅读全文
posted @ 2021-04-10 09:57 漫舞八月(Mount256) 阅读(1671) 评论(0) 推荐(0)