- 博客(60)
- 收藏
- 关注
原创 15、IWDG独立看门狗
摘要 IWDG独立看门狗是一个12位递减定时器,当计数器减至0时会产生复位信号。在计数值归零前重置计数器(喂狗)可避免复位。该功能由VDD供电,在停止/待机模式下仍能工作。作为内核功能,使用时无需开启时钟。框图显示其硬件结构和工作原理。
2025-08-25 22:31:09
217
原创 20、DMA----释放CPU压力,加快传输
DMA(直接存储器访问)是一种无需CPU干预的数据传输技术,可高效实现外设与存储器间的数据交换。STM32F103系列包含两个DMA控制器(DMA1和DMA2),共12个独立通道,支持外设/存储器间传输、循环缓冲管理及不同数据宽度转换。每个通道具有可编程优先级(4个等级)和中断事件标志(半传输、完成、错误)。DMA通过硬件仲裁器处理多通道请求,采用结构体配置传输方向、地址增量模式等参数。HAL库提供初始化、中断处理等函数接口,支持查询传输状态和剩余数据量,通过回调函数实现事件处理。该技术显著提升系统效率,适
2025-08-25 22:11:10
904
原创 14、外部中断
本文介绍了STM32的嵌套向量中断控制器(NVIC)和外部中断/事件控制器(EXTI)的工作原理及配置方法。NVIC负责管理中断优先级和使能,支持256级中断,STM32F103使用了60个外部中断。EXTI包含20个边沿检测器,可配置为产生中断或事件,其中16个用于GPIO引脚。文章详细说明了NVIC寄存器组功能、中断优先级分组机制,以及EXTI中断和事件产生路径的工作原理,并指出GPIO与中断线需要通过AFIO寄存器进行映射配置。最后提及了HAL库中NVIC相关的设置函数。
2025-08-21 18:42:23
283
原创 13、按键输入检测
按键消抖方法与程序设计 按键在闭合和断开时存在5-10ms的机械抖动,会导致误判多次按键动作。解决方法包括: 软件消抖:检测到按键按下后延时10ms跳过抖动期,再次确认按键状态,可有效消除抖动影响。释放判断同理。 硬件消抖:利用RC电路特性平滑电压毛刺。 实际应用中多采用软件消抖,通过延时处理确保只识别稳定的按键动作。程序设计时需针对不同按键特性调整延时参数以获得最佳效果。
2025-08-21 18:09:09
378
原创 12、GPIO介绍、点亮第一盏灯、驱动有源蜂鸣器
摘要:GPIO是负责输入输出的外设,每组16个IO口。STM芯片需查看数据手册确认是否兼容5V电压,带FT标志的才支持5V。GPIO有八种工作模式,包括四种输入模式(浮空、上拉、下拉、模拟)和四种输出模式(开漏、推挽及对应的复用功能),不同模式适用于不同应用场景。(99字)
2025-08-08 22:37:56
207
原创 11、系统配置System文件夹
本文介绍了博主的system文件夹结构,该文件夹源自正点原子,包含三对核心驱动文件:sysclock、debug和delay。重点解析了delay文件中的两个延时函数(Delay_Ms和Delay_Us)的实现原理:利用24位SysTick定时器的递减计数特性,通过时钟摘取法实现精确延时。这些底层驱动可在不同系列芯片上快速建立工程。
2025-08-06 22:32:34
191
原创 10、STM32时钟
摘要: STM32通过时序电路设计解决组合电路的"毛刺现象",确保信号同步。其时钟树包含HSI/HSE/LSI/LSE四种时钟源,通过PLL倍频净化输入时钟。系统时钟SYSCLK经AHB/APB分频器分发至各外设,F1系列最高支持72MHz主频。配置时需设置PLL参数、分频系数及FLASH等待周期(如72MHz需FLASH_LATENCY_2)。HAL库通过RCC_OscInitTypeDef等结构体管理时钟配置,支持MCO引脚输出时钟信号。关键点包括匹配外部晶振频率、正确初始化PLL及
2025-08-03 15:53:37
700
原创 9、STM32的启动过程
摘要 STM32启动模式涉及三种复位方式:上电复位、硬件复位和软件复位。复位后,内核首先从0x00000000地址读取堆栈指针MSP初始值(栈顶地址),再从0x00000004地址读取程序计数器PC初始值(指向第一条指令)。这一过程完成了系统初始化的关键步骤。
2025-07-23 22:17:18
414
原创 8、STM32每个系列的区别
STM32 F1和F4系列的主要区别包括:F4采用Cortex-M4内核,主频更高并具备浮点运算单元和增强DSP指令集,运算性能显著优于F1的M3内核。F4内存更大,支持备份域SRAM,从外部存储器执行程序更快。GPIO方面,F4引脚更多,且在输出模式下仍可配置上下拉电阻。总体而言,F4系列在性能、存储和I/O功能上全面优于F1系列。
2025-07-23 17:36:33
614
原创 7、STM32开发资料查找
摘要:学习芯片开发需掌握官方技术文档,主要包括参考手册(功能与寄存器说明)、数据手册(引脚定义与电气特性)、勘误手册(硬件BUG解决方案)、闪存/内核编程手册等。数据手册用于芯片选型与原理图设计,参考手册侧重编程时的外设功能查阅。权威文档如《Cortex-M3/M4权威指南》对理解内核至关重要。应用笔记提供具体解决方案,用户手册详解软件库使用。开发时需根据需求灵活选用不同手册,如引脚定义查询数据手册,外设功能则查阅参考手册。
2025-07-23 17:16:18
672
原创 6、STM32的标准库、HAL库
CMSIS是ARM Cortex微控制器的标准软件接口,旨在解决不同厂商芯片间的兼容性问题。它包含内核函数层和设备外设访问层,屏蔽硬件差异,方便软件移植。STM32标准库文件结构包括Libraries(驱动库源码)、Project(示例工程)和CMSIS文件夹(内核相关头文件)。Device文件夹存放芯片相关文件如启动代码和系统时钟初始化。STM32Fxxx_StdPeriph_Driver包含外设驱动源文件和头文件,是标准库的核心部分。misc.c文件提供中断配置功能,stm32fxxx_it.c和stm
2025-07-18 14:51:14
650
原创 5、单片机的系统架构和寄存器
4主动+4被动单元上图中以总线矩阵为分界线左侧为主动单元,右侧为被动单元。连接了总线矩阵的部分是主动或被动单元,其他不算。
2025-07-14 17:35:28
313
原创 4、C语言基础
本文总结了嵌入式开发中常用的5个C语言核心知识点:1) 位操作(与、或、异或、移位等)及其在寄存器操作中的应用技巧;2) extern外部声明的作用;3) typedef定义类型别名;4) 指针使用注意事项;5) 结构体定义及大小计算。文章强调C语言基础的重要性,建议基础薄弱者先系统学习C语言再继续嵌入式开发。这些知识点是嵌入式编程的基础核心内容,对寄存器操作尤为重要。
2025-07-14 16:55:09
199
原创 3、开发环境的安装及调试技巧
本文介绍了单片机开发环境的使用技巧,包括MDK/Keil5软件的安装配置、CH340驱动安装、程序下载方式选择(ST-Link/DAP-Link)、代码调试方法(查看外设和寄存器状态)以及代码美化建议(编码格式、Tab宽度、字体颜色设置)。还提供了查找替换的快捷键操作,帮助开发者提高工作效率。文中强调调试技巧需在实践中掌握,并提供了常见问题的解决方法。
2025-07-14 16:21:08
413
原创 2、学习原理图设计
本文介绍了STM32单片机系统设计的基本要点:1)通过官网或社区获取数据手册,掌握芯片主频、存储、电压/电流参数及封装信息;2)重点解析引脚分布,包括电源、晶振、复位、下载、BOOT和GPIO引脚的功能与标识方法;3)说明LQFP和BGA封装1脚的定位方式;4)阐述最小系统的五大核心电路(电源、晶振、复位、下载和BOOT电路)是确保MCU正常工作的基础。全文为STM32硬件设计提供了清晰的入门指导。
2025-07-11 17:39:34
376
原创 1、了解单片机
本文介绍了单片机的基本概念、特点及应用。单片机作为微型计算机芯片,具有体积小、功耗低、集成度高等特点,广泛应用于仪器仪表、家用电器和工业控制等领域。文章对比了CISC和RISC指令集架构,以及冯诺依曼和哈佛结构的特点。重点阐述了ARM公司的业务模式及其Cortex-M系列产品,并详细介绍了STM32微控制器的分类、命名规则和选型方法。STM32作为主流微控制器,集成了USART、IIC、SPI等多种通信接口,适用于各类嵌入式系统开发。文章还展望了单片机未来在CPU性能、存储容量和集成度等方面的发展趋势。
2025-06-28 17:12:38
815
原创 第四章、字符串和格式化输入/输出
字符串是一个或者多个字符的序列,比如:“hello world”,双引号不是字符串的一部分,双引号仅仅是告知编译器它括起来的是字符串。
2025-02-16 22:15:55
395
原创 第二章、C语言概述
include <stdio.h>作用就是:将stdio.h文件中的所有的内容都输入到该行的位置,include文件提供一种方便的途径共享很多程序共有的信息。#include是一条C预处理指令,编译器在编译前会对代码做一些准备工作,叫做预处理。stdio.h:该文件是标准输入/输出头文件,包含了供编译器使用的输入输出函数信息。头文件帮助编译器把程序正确的组合起来。
2025-02-15 22:21:45
502
原创 十八、原理图常用设计快捷命令汇总
在命令选项卡中 按下Ctrl + 鼠标左键选中,可以打开自定义命令对话框。在快捷键一栏“可选的”就可以自定义快捷键。
2025-02-10 11:00:48
137
原创 十五、原理图常见错误的编译与检查
设计完原理图之后,需要对其进行常规性的检查核对,工程师可以使用ERC功能对常规的电气特性进行检查,避免一些常规行错误和查漏补缺,以及为正确完整地导入PCB进行电路设计。
2025-02-10 09:43:48
351
原创 十三、元器件的位号编号排序及注意事项
原理图绘制常利用复制功能,复制完成之后会存在重复的或者同类型元件编号混乱的现象,后期BOM表的整理十分不便。重新编号可以对原理图中的位号进行复位和同意,方便设计和维护。
2025-02-08 17:24:32
355
原创 十一、放置器件网络标号链接
对于一些较长的连接网络或者数量比较多的网络连接,绘制时如果全部采用导线的连接方式连接,很难从表现上去识别连接关系,不方便设计。这个时候可以采取网络标号方式协助设计,它也是网络连接的一种。可以对网络标号的颜色、名称、是否锁定进行设置,一般来说主要是设置好名称、增强原理图的可读性。对于原理图设计,AD专门提供一种电源和地的符号,是一种特殊的网络标号,可以让设计比较形象的识别。电源和地线采取端口普通导线采用网络标签的表现形式。
2025-02-08 15:20:03
1216
原创 九、元件排列与对齐
放置元件后,为了放置元件更加规范美观,使用AD软件的对齐命令来进行操作。常用的命令:向左对齐、向右对齐、向上对齐、向下对齐、水平等分、垂直等分。图中其他命令为 A+该命令:AL(左对齐)、AR(右对齐)等等。
2025-02-08 14:45:12
300
原创 七、原理图库调用和器件摆放
安装其他的原理图库。在Components选项卡中,点击图式的按钮,选择Libraries Preferences选项打开对话框,可以看到。右下角命令Panels --> Components,这个对话框里面就是原理图库,上面是绘制的元器件图库,下方。打开SCH Library选中某个元器件,左下角点击。的库,在下方选择其他库的路径就可以安装其他的库。安装完成后,就有其他库进行选择,摆放。选项,可以放置在原理图上。
2025-02-08 14:23:53
247
原创 三、绘制复杂原理图库
但需要对其规范绘制,有利于原理图可读性。多part原理图库:是一个器件的多种表现形式。选中该原理图库,工具 --> 新部件,可以添加多part部件。
2025-02-07 17:33:28
306
原创 二、原件符号介绍及简单电阻容原理图创建
原理图符号是原件在原理图上的表现形式,主要是由组成,通过放置的管脚来建立电气连接关系。元件符号中的管脚序号和电子元件实物的管脚一一对应,图形不一定和实物完全相同,但是对于管脚序号和名称,一定是要严格按照元件规格书中的说明一一对应好。
2025-02-07 16:38:35
296
原创 一、创建空白完整的电子设计工程
Ctrl + S保存每个文件到当前项目工程文件夹下。文件 --> 新建 --> 项目。主要添加1.1提到的主要文件。
2025-02-07 14:13:37
211
原创 十六、字符串、下标、切片、字符串常用操作方法
字符串是 Python 中最常用的数据类型。一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。注意:控制台显示结果为, 即数据类型为str(字符串)。
2025-02-05 17:24:01
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅