- 博客(53)
- 收藏
- 关注
原创 9、STM32的启动过程
摘要 STM32启动模式涉及三种复位方式:上电复位、硬件复位和软件复位。复位后,内核首先从0x00000000地址读取堆栈指针MSP初始值(栈顶地址),再从0x00000004地址读取程序计数器PC初始值(指向第一条指令)。这一过程完成了系统初始化的关键步骤。
2025-07-23 22:17:18
244
原创 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
217
原创 7、STM32开发资料查找
摘要:学习芯片开发需掌握官方技术文档,主要包括参考手册(功能与寄存器说明)、数据手册(引脚定义与电气特性)、勘误手册(硬件BUG解决方案)、闪存/内核编程手册等。数据手册用于芯片选型与原理图设计,参考手册侧重编程时的外设功能查阅。权威文档如《Cortex-M3/M4权威指南》对理解内核至关重要。应用笔记提供具体解决方案,用户手册详解软件库使用。开发时需根据需求灵活选用不同手册,如引脚定义查询数据手册,外设功能则查阅参考手册。
2025-07-23 17:16:18
574
原创 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
290
原创 5、单片机的系统架构和寄存器
4主动+4被动单元上图中以总线矩阵为分界线左侧为主动单元,右侧为被动单元。连接了总线矩阵的部分是主动或被动单元,其他不算。
2025-07-14 17:35:28
208
原创 4、C语言基础
本文总结了嵌入式开发中常用的5个C语言核心知识点:1) 位操作(与、或、异或、移位等)及其在寄存器操作中的应用技巧;2) extern外部声明的作用;3) typedef定义类型别名;4) 指针使用注意事项;5) 结构体定义及大小计算。文章强调C语言基础的重要性,建议基础薄弱者先系统学习C语言再继续嵌入式开发。这些知识点是嵌入式编程的基础核心内容,对寄存器操作尤为重要。
2025-07-14 16:55:09
176
原创 3、开发环境的安装及调试技巧
本文介绍了单片机开发环境的使用技巧,包括MDK/Keil5软件的安装配置、CH340驱动安装、程序下载方式选择(ST-Link/DAP-Link)、代码调试方法(查看外设和寄存器状态)以及代码美化建议(编码格式、Tab宽度、字体颜色设置)。还提供了查找替换的快捷键操作,帮助开发者提高工作效率。文中强调调试技巧需在实践中掌握,并提供了常见问题的解决方法。
2025-07-14 16:21:08
377
原创 2、学习原理图设计
本文介绍了STM32单片机系统设计的基本要点:1)通过官网或社区获取数据手册,掌握芯片主频、存储、电压/电流参数及封装信息;2)重点解析引脚分布,包括电源、晶振、复位、下载、BOOT和GPIO引脚的功能与标识方法;3)说明LQFP和BGA封装1脚的定位方式;4)阐述最小系统的五大核心电路(电源、晶振、复位、下载和BOOT电路)是确保MCU正常工作的基础。全文为STM32硬件设计提供了清晰的入门指导。
2025-07-11 17:39:34
295
原创 1、了解单片机
本文介绍了单片机的基本概念、特点及应用。单片机作为微型计算机芯片,具有体积小、功耗低、集成度高等特点,广泛应用于仪器仪表、家用电器和工业控制等领域。文章对比了CISC和RISC指令集架构,以及冯诺依曼和哈佛结构的特点。重点阐述了ARM公司的业务模式及其Cortex-M系列产品,并详细介绍了STM32微控制器的分类、命名规则和选型方法。STM32作为主流微控制器,集成了USART、IIC、SPI等多种通信接口,适用于各类嵌入式系统开发。文章还展望了单片机未来在CPU性能、存储容量和集成度等方面的发展趋势。
2025-06-28 17:12:38
723
原创 第四章、字符串和格式化输入/输出
字符串是一个或者多个字符的序列,比如:“hello world”,双引号不是字符串的一部分,双引号仅仅是告知编译器它括起来的是字符串。
2025-02-16 22:15:55
365
原创 第二章、C语言概述
include <stdio.h>作用就是:将stdio.h文件中的所有的内容都输入到该行的位置,include文件提供一种方便的途径共享很多程序共有的信息。#include是一条C预处理指令,编译器在编译前会对代码做一些准备工作,叫做预处理。stdio.h:该文件是标准输入/输出头文件,包含了供编译器使用的输入输出函数信息。头文件帮助编译器把程序正确的组合起来。
2025-02-15 22:21:45
474
原创 十八、原理图常用设计快捷命令汇总
在命令选项卡中 按下Ctrl + 鼠标左键选中,可以打开自定义命令对话框。在快捷键一栏“可选的”就可以自定义快捷键。
2025-02-10 11:00:48
109
原创 十五、原理图常见错误的编译与检查
设计完原理图之后,需要对其进行常规性的检查核对,工程师可以使用ERC功能对常规的电气特性进行检查,避免一些常规行错误和查漏补缺,以及为正确完整地导入PCB进行电路设计。
2025-02-10 09:43:48
245
原创 十三、元器件的位号编号排序及注意事项
原理图绘制常利用复制功能,复制完成之后会存在重复的或者同类型元件编号混乱的现象,后期BOM表的整理十分不便。重新编号可以对原理图中的位号进行复位和同意,方便设计和维护。
2025-02-08 17:24:32
274
原创 十一、放置器件网络标号链接
对于一些较长的连接网络或者数量比较多的网络连接,绘制时如果全部采用导线的连接方式连接,很难从表现上去识别连接关系,不方便设计。这个时候可以采取网络标号方式协助设计,它也是网络连接的一种。可以对网络标号的颜色、名称、是否锁定进行设置,一般来说主要是设置好名称、增强原理图的可读性。对于原理图设计,AD专门提供一种电源和地的符号,是一种特殊的网络标号,可以让设计比较形象的识别。电源和地线采取端口普通导线采用网络标签的表现形式。
2025-02-08 15:20:03
507
原创 九、元件排列与对齐
放置元件后,为了放置元件更加规范美观,使用AD软件的对齐命令来进行操作。常用的命令:向左对齐、向右对齐、向上对齐、向下对齐、水平等分、垂直等分。图中其他命令为 A+该命令:AL(左对齐)、AR(右对齐)等等。
2025-02-08 14:45:12
246
原创 七、原理图库调用和器件摆放
安装其他的原理图库。在Components选项卡中,点击图式的按钮,选择Libraries Preferences选项打开对话框,可以看到。右下角命令Panels --> Components,这个对话框里面就是原理图库,上面是绘制的元器件图库,下方。打开SCH Library选中某个元器件,左下角点击。的库,在下方选择其他库的路径就可以安装其他的库。安装完成后,就有其他库进行选择,摆放。选项,可以放置在原理图上。
2025-02-08 14:23:53
182
原创 三、绘制复杂原理图库
但需要对其规范绘制,有利于原理图可读性。多part原理图库:是一个器件的多种表现形式。选中该原理图库,工具 --> 新部件,可以添加多part部件。
2025-02-07 17:33:28
268
原创 二、原件符号介绍及简单电阻容原理图创建
原理图符号是原件在原理图上的表现形式,主要是由组成,通过放置的管脚来建立电气连接关系。元件符号中的管脚序号和电子元件实物的管脚一一对应,图形不一定和实物完全相同,但是对于管脚序号和名称,一定是要严格按照元件规格书中的说明一一对应好。
2025-02-07 16:38:35
217
原创 一、创建空白完整的电子设计工程
Ctrl + S保存每个文件到当前项目工程文件夹下。文件 --> 新建 --> 项目。主要添加1.1提到的主要文件。
2025-02-07 14:13:37
184
原创 十六、字符串、下标、切片、字符串常用操作方法
字符串是 Python 中最常用的数据类型。一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。注意:控制台显示结果为, 即数据类型为str(字符串)。
2025-02-05 17:24:01
156
原创 十一、if条件语句
多重判断,满足不同条件执行不同语句,这个语句需要从上到下依次判断,当满足某个条件后执行其语句后,就不会在判断其他判断,跳出条件判断语句。用户可以输出自己的年龄,然后系统进行判断是否成年,成年则输出"您的年龄是’用户输入的年龄’,已经成年,可以上网"。一般else放到整个if语句的最后,表示以上条件都不成立的时候执行的代码。需求:玩家和电脑玩剪刀石头布游戏,电脑采用随机出拳,玩家自己出拳。条件不成立执行else下方的代码。注意:条件2的if也是处于条件1成立执行的代码的缩进关系内部。
2025-02-05 14:26:14
283
原创 十、运算符
and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字。or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字。比较运算符也叫关系运算符, 通常用来判断。先算符合运算符右边的值,在整体进行计算。按位运算类似于C语言中的运算。
2025-02-05 11:27:21
532
原创 八、转义字符和结束符
Python中print默认是自带了end=”\n"换行结束符的,所以在写print的时候是自动换行的,但是这个结束符可以更改。
2025-01-25 11:23:23
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人