自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(272)
  • 收藏
  • 关注

原创 485通信丢失末尾2字节

485+DMA发送数据遇到的bug

2026-01-03 15:00:35 368

原创 编写最简单的BootLoader

1、最基本的功能1、最基本的功能启动其他程序:上电后,BootLoader先运行。他的目的是启动APP。2、Flash划分bootloader和app都烧写到Flash上,BootLoader直接跳到APP位置即可。(1)所用芯片Flash的起始地址为0x8000000,大小为0x100000;(2)BootLoader起始地址0x8000000,大小0x40000;即0x8000000 — 0x803FFFF。(3)APP起始地址,大小0x60000;

2025-11-13 10:44:52 576

原创 打印输出的常用方法

本文总结了MCU程序调试中常用的4种打印输出方法。

2025-11-12 11:46:14 385

原创 DAP下载程序和程序调试

本文介绍了使用DAP调试器下载和调试程序的关键步骤。

2025-11-12 09:10:40 1033

原创 消费级MCU如何管理内存

针对消费级MCU内存受限问题,提出了内存优化方案。

2025-11-09 18:24:40 319

原创 M3和M4内核的区别

M3和M4内核的区别

2025-11-09 17:55:38 217

原创 CPU模式和状态以及栈寄存器

介绍了ARM Cortex-M3/M4处理器的状态、模式和访问控制机制。

2025-11-09 16:34:34 862

原创 GPIO中断编程

本文介绍了STM32MCU实现按键中断的相关寄存器。

2025-11-09 14:48:49 446

原创 中断的硬件框架

本文介绍了微控制器中断处理机制的基本原理与STM32F103的GPIO中断实现。

2025-11-08 22:43:04 743

原创 SysTick异常

本文介绍了基于ARM Cortex-M3/M4处理器的SysTick定时器应用。

2025-11-08 17:19:07 182

原创 SVC异常

M3/M4内核的MCU中,SVC异常的介绍。

2025-11-08 14:09:55 244

原创 未定义指令异常

本文通过STM32微控制器实验探讨了ARM Cortex-M处理器的异常处理机制。

2025-11-08 10:35:10 582

原创 ““ 和 <>包含头文件的区别

1、在 C/C++ 中,使用。都可以包含头文件,但它们的。

2025-11-07 11:58:12 214

原创 异常处理深入分析_保存现场

在FIQ模式下,它既然能使用自己的R8-R12,SP,LR,自然不需要去保存被中断的程序的"R8-R12,SP,LR"了。上图中深色的寄存器,表示该模式下的"Banked"寄存器,比如SPSR寄存器,在很多模式下都有自己的、单独的寄存器。比如IRQ模式下访问SPSR时,访问到的是IRQ模式下自己的SPSR_irq,别的模式下无法访问SPSR_irq。(3)比较值得关注的是FIQ模式,名为"快中断",它有很多"Banked"寄存器:R8-R12,SP,LR。的程序的地址就行了吗?

2025-11-07 10:46:46 837

原创 ARM架构中异常与中断的处理

本文对比分析了ARM架构Cortex-M3/M4与Cortex-A7的中断处理机制。

2025-11-06 17:58:42 882

原创 中断与异常的概念和处理流程

中断与异常的处理流程

2025-11-06 16:16:51 277

原创 重定位的纯C函数实现

本文介绍了导入链接器定义符号的两种方法。

2025-11-06 13:56:50 337

原创 代码段重定位

代码段重定位到内存中执行的介绍。

2025-11-06 11:09:04 531

原创 清除BSS段(ZI段)

介绍了如何清除BSS段

2025-11-05 23:03:45 224

原创 散列文件的使用与分析

散列文件的介绍、执行区域和加载区域的代码编写。

2025-11-05 19:44:26 338

原创 段和重定位

段和重定位的介绍。

2025-11-05 00:41:24 242

原创 Makefile的依赖管理

本文介绍了Makefile的依赖管理优化过程。

2025-11-04 21:47:46 393

原创 Makefile函数

makefile中的常见函数的使用

2025-11-04 17:09:35 183

原创 Makefile的引入及规则

Makefil的简单介绍,包括通配符、假想目标和变量。

2025-11-04 15:25:52 716

原创 gcc编译过程详解

预处理:C/C++源文件中,以“#”开头的命令被称为预处理命令,如包含命令“#include”、宏定义命令“#define”、条件编译命令“#if”、“#ifdef”等。预处理就是将要包含(include)的文件插入原文件中、将宏定义展开、根据条件编译命令选择要使用的代码,最后将这些东西输出到一个“.i”文件中等待进一步处理。(2)上面一连串命令比较麻烦,gcc会对.c文件默认进行预处理操作,使用-c再来指明了编译、汇编,从而得到.o文件, 再将.o文件进行链接,得到可执行应用程序。(1)库文件在哪里?

2025-11-04 09:56:50 719

原创 回调函数是什么

回调函数

2025-11-03 14:59:09 274

原创 I2C和SPI的区别

2025-11-03 14:13:50 840

原创 STM32F103的启动过程

芯片上电后,内部 POR/PDR 电路保持复位直到电压稳定;典型延时 1‒2 ms。

2025-11-03 13:55:23 351

原创 简述串口通信的流程

配置波特率、数据位、停止位、校验位等参数,并使能串口时钟及相关GPIO。

2025-11-03 11:47:07 301

原创 break 和 continue的区别

2、continue:跳过本次循环剩余部分,继续下一次循环。1、break:跳出整个循环。1、break:跳出整个循环。

2025-11-03 11:32:38 223

原创 KeilIDE背后的命令

(1)IDE指集成开发环境(Integrated Development Environment)。我们开发STM32F103等单片机程序时使用是Keil就是一种IDE。

2025-11-03 11:05:28 881

原创 UART编程

PA9有多种功能:PA9/TIM1_CH2/I2C3_SMBA/U1_TX/DCMI_D0/OTG_FS_VBUS。PA10也有多种功能:PA10/TIM1_CH3/U1_RX/OTG_FS_ID/DCMI_D1。串口的TX和RX引脚使用了GPIOA,所以需要使能GPIOA模块。肯定有一个数据寄存器,程序读取这个寄存器,就可以获得先前接收到的数据。(1)选择串口1:TX对应PA9引脚;(3)数据寄存器:写、读这个寄存器,就可发送、读取串口数据。发送状态:判断数据是否发送出去?(4)停止位:配置1个停止为。

2025-11-02 22:46:24 413

原创 串口硬件介绍

要发送数据时,CPU控制内存将要发送的数据通过FIFO传给UART单位,UART里面的移位器,依次将数据发送出去,在发送完成后产生中断提醒CPU传输完成。(2)ARM芯片上得串口都是TTL电平的,通过板子上或者外接的电平转换芯片,转成RS232接口,连接到电脑的RS232串口上,实现两者的数据传输。(4)校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。(4)不同的电平接口,ARM芯片的串口编程都是一样的。(5)停止位:它是一个字符数据的结束标志。

2025-11-02 10:56:39 330

原创 寄存器编写按键控制LED

(1)按键使用PA0引脚控制,LED使用PB1控制。(2)按键按下LED点亮,松开LED熄灭。

2025-11-01 21:19:49 320

原创 C与汇编深入分析

作用:芯片上电后,CPU 会自动把这里的值加载到 MSP 寄存器(R13寄存器)。作用:这个段通常用来存放中断向量表(Vector Table),它会被链接器放到 Flash 的起始地址(0x00000000)。解释:告诉汇编器接下来的代码是 THUMB 指令集(16 位压缩指令集),而不是 ARM 指令集(32 位)。跳转:CPU从0x08000004得到地址值,根据它的BIT0切换为ARM状态或Thumb状态,然后跳转。r4-r11:函数可能被使用,所以在函数的入口保存它们,在函数的出口恢复它们。

2025-11-01 16:36:42 780

原创 大小端模式

画出0x12345678在内存中大端与小端存储的示意图。

2025-11-01 10:54:42 259

原创 汇编、反汇编和机器码

简单了解即可。

2025-10-31 23:08:32 869

原创 字节序和位操作

注:本内容属于编程知识。

2025-10-31 21:06:48 204

原创 进制的介绍

(1)十进制的表示:直接用生活中的数表示即可(2)八进制的表示:数值前加一个0表示八进制(3)十六进制的表示:数值前加一个0x表示十六进制(4)二进制的表示:C程序中不能识别二进制,现实中一般用0b表示二进制。

2025-10-31 17:52:19 268

原创 LVGL的介绍

(1)demos文件夹:LVGL官方演示代码(2)docs文件夹:LVGL文献,解析部件的使用方法6、学习LVGL之前建议掌握的知识。

2025-10-31 14:49:48 535

串口/网络数据调试助手

SSCOM5串口调试软件,特点如下: 1.显示流畅,不容易丢数据,中文显示无乱码。 2.USB串口误拔不易死机,大部分型号的USB芯片插回能自动恢复(pl2303除外)。 3.通讯方面支持串口和网卡TCP/IP,UDP通讯。 4.波特率支持自定义,最高50Mbps. 5.可以实现“帧头+数据+校验+帧尾"的高级数据结构发送方式。 6.支持字符串和十六进制方式显示,和加时间戳分数据包显示,支持数据波形(示波器)显示. 7.支持字符串和十进制方式发送,支持预定义99组数据串发送,支持发送数据包加校验,支持转义符号输入. 8.支持接收数据直接保存到文件,也可保存窗口数据和原始接收数据. 9.支持终端仿真,STM32的ISP程序下载功能. 10.窗口大小位置,接收窗口的字体颜色背景色均可保存.

2024-05-27

51单片机辅助开发工具:单片机小精灵

单片机小精灵是一款单片机辅助开发工具,提供常用51系列单片机的参数计算和资料查询功能。详情见百度百科 https://baike.baidu.com/item/%E5%8D%95%E7%89%87%E6%9C%BA%E5%B0%8F%E7%B2%BE%E7%81%B5/2988318?fr=aladdin

2022-08-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除