自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(33)
  • 收藏
  • 关注

原创 STM32CubeMX 配置 TIM1 输出 PWM 驱动 TB6612FNG

其中 0 ≤ pwm ≤ ARR。

2025-12-14 18:01:56 299

原创 static 作用一:修饰全局变量

【代码】static 作用一:修饰全局变量。

2025-08-28 12:30:37 252

原创 解决keil编译变慢

2025-08-27 16:07:05 434

原创 Flash 页(page)、块(block)、扇区(sector)

它能存储一个bit(0 或 1)。Flash 存储器的基本单位是。

2025-08-27 14:03:06 534

原创 栈顶指针(Stack Pointer, SP)

在 MCU/CPU 里,栈(Stack)是一块用来存放临时数据的内存区域。函数调用时保存返回地址保存/恢复局部变量保存/恢复寄存器内容栈顶指针 SP = 一个寄存器,指向当前栈的最顶端。作用:保证函数调用、中断处理等能安全保存/恢复数据。在嵌入式 MCU(如 ARM Cortex-M)中:初始 SP 在 中断向量表的第 0 项定义上电后硬件自动加载栈空间通常位于 SRAM 的最高地址并向下增长。

2025-08-26 10:10:29 556

原创 Flash、ROM 和 SRAM

在嵌入式里,Flash、ROM、SRAM 是不同的物理存储器件/单元,虽然它们在中被,表现为一个连续的地址空间,但它们背后的物理特性完全不同。

2025-08-26 08:56:40 420

原创 GD32中 端口位操作寄存器 和 位带操作 区别分析

特性端口位操作寄存器 (GPIOx_BOP)位带操作 (Bit-Banding)实现层级外设级,是GD32芯片厂商在GPIO外设中设计的专用寄存器。内核级,是ARM Cortex-M内核提供的一项通用内存映射技术。操作对象仅针对GPIO的输出控制。针对整个位带别名区的所有地址,包括SRAM和外设寄存器的任何一位。原理通过写入特定的寄存器位(BOP0-15置位,BOP16-31复位)来控制引脚。通过访问一个特定的别名地址来间接访问原始地址的某一位。地址。

2025-08-25 14:02:13 229

原创 ULN2003G-P16-R 芯片使用

ULN2003G-P16-R 是一种 达林顿管阵列驱动芯片,内部集成了 7 路达林顿管对,相当于 7 个“ULN2003 单元”放在一起。它常用于单片机(如 STM32、Arduino)控制 继电器、电机、数码管、LED 阵列 等需要较大电流的负载。

2025-08-25 09:58:27 230

原创 MOSFET(Metal-Oxide-Semiconductor Field Effect Transistor,金属氧化物半导体场效应管)

P-MOS 是靠“拉低栅极”来导通的开关器件,常用于高边开关控制电源。

2025-08-25 09:34:38 487

原创 逻辑移位与算术移位

根本的区别在于:它们如何对待符号位(最高位)。

2025-08-20 19:03:01 268

原创 Keil 配置硬件 Debug

2025-08-19 18:01:32 493

原创 解决 git 配置 gitee SSH 后仍然弹出 Git Credential Manager

确保你的本地仓库使用的是 SSH 协议 的远程地址(格式如 git@gitee.com:username/repo.git),而不是 HTTPS 地址(如 https://gitee.com/username/repo.git)。(将 username/repo.git 替换为你的仓库路径)如果显示的是 HTTPS 地址,需要修改为 SSH 地址。

2025-08-19 11:11:34 362

原创 GD32 HXTAL(外部高速晶振)旁路模式(Bypass Mode)的开启与关闭

无源晶振需要外部负载电容和 MCU 内部的反馈电路共同工作,旁路模式会绕过这一机制,导致晶振无法正常振荡。旁路模式跳过内部振荡电路,直接将外部时钟信号输入 MCU,适合对时钟精度或同步性要求高的场景。使用 外部有源时钟源(如其他芯片输出的方波、时钟发生器、FPGA 提供的时钟)。外部时钟信号直接接入 MCU 的 XTAL1 引脚,XTAL2 引脚悬空或接地。直接输入高频信号(如 8MHz 方波),无需 MCU 内部振荡电路参与。需要 MCU 内部振荡电路驱动晶振起振,产生稳定的正弦波时钟信号。

2025-08-18 18:25:06 404

原创 GD32 基于 458 通信实现 printf

MicroLIB 提供了轻量级的 printf 实现,可以直接重定向到串口(USART),而标准库默认依赖 半主机模式(Semihosting)(需要调试器支持,不适合实际硬件运行)。打开"Options for Target"对话框。勾选"Use MicroLIB"选择"Target"选项卡。

2025-08-18 13:26:17 140

原创 [keil 使用] C/C++ → Preprocessor Symbols

Undefine 会在 Define 之后执行。

2025-08-01 11:20:02 519

原创 [keil 使用] C/C++ Include Paths

【代码】[keil 使用] C/C++ Include Paths。

2025-08-01 10:37:52 314

原创 [FreeRTOS] ☞ vTaskDelay 函数

在 FreeRTOS 中,vTaskDelay 函数用于使当前任务进入阻塞状态,直到指定的时间段过去。vTaskDelay 的参数以“滴答数”(tick)为单位,滴答数由系统时钟决定。

2024-09-07 14:36:46 813

原创 七、STM32F429IGT6 DMA

DMA,即Direct Memory Access(直接存储区访问),是一种能够实现在外设寄存器与存储器之间或存储器与存储器之间高速传输数据的方法。DMA传输数据时,不需要任何CPU操作控制。

2024-08-13 20:42:35 1152

原创 六、STM32F429IGT6 串口通讯

TX:发送数据输出引脚RX:接收数据输入引脚SW_RX:数据接收引脚,只用于单线和智能卡模式,属于内部引脚,没有具体外部引脚nRTS:请求发送,n表示低电平有效;nCTS:允许发送,n表示低电平有效。相当于一个握手的过程SCLK:发送器时钟输出引脚,仅适用于同步模式注: 以上引脚,通常仅使用TX和RXSTM32F429IGT6芯片的USART引脚。

2024-08-12 21:52:15 2184

原创 (三)STM32 通信基本概念

根据数据传输方向,通信可分为全双工、半双工和单工。

2024-08-12 19:19:28 273

原创 五、STM32F429IGT6 按键输入&EXTI

key.c// 开启 GPIO 外设时钟// 开启 EXTI 时钟/* 1. 初始化连接到 EXTI 的 KEY */// 输入模式// 确保按键未按下时,GPIO引脚能保持稳定的电平状态。/* 连接 EXTI 中断源 到 key0、key1 引脚 *//* 2. 初始化 EXTI */// 中断模式// 下降沿触发// 使能/* 3. 初始化 NVIC,用于处理中断 */// 配置中断优先级分组// 主优先级// 子优先级。

2024-08-11 21:32:34 387

原创 (二)STM32 中断

NVIC结构体定义如下,位于固件库core_cm4.h文件中在配置中断时,我们通常只使用ISER、ICER和IP这三个寄存器,ISER用于使能中断,ICER用于失能中断,IP用于设置中断优先级。

2024-08-11 19:26:06 398

原创 四、STM32F429IGT6 SysTick(系统嘀嗒定时器)

在 STM32中,SysTick 是一个24位的递减定时器,由 ARM Cortex-M 内核提供。主要用于提供标准的系统时钟、实现简单的延时功能。

2024-08-11 15:18:23 940

原创 三、STM32F429IGT6 位带操作

其中,AliasAddr表示位带别名区地址,A表示我们要操作的位所在寄存器的地址,n为位号。其中,addr表示要操作的位所在寄存器的地址,bitnum表示位号,即寄存器中的第几位。目标:通过位带操作控制LED。

2024-08-11 13:34:54 1117

原创 二、STM32F429IGT6 GPIO输出-点亮LED

【代码】二、STM32F429IGT6 GPIO输出-点亮LED。

2024-08-11 11:49:01 549

原创 (一)STM32 寄存器

其中地址0x4000 0000称为外设基地址,也是APB1总线的基地址。在STM32中,通过基地址+偏移地址来确定具体的寄存器地址。例:控制GPIOH10输出高/低电平。GPIOH寄存器基地址。

2024-08-10 22:45:53 523

原创 一、STM32F429IGT6 新建工程模板

【代码】一、新建工程模板。

2024-08-10 17:31:51 880 2

原创 Mac Safar浏览器去掉百度热搜

https://www.cnblogs.com/swgj/p/17892600.html

2024-05-23 12:34:44 598

原创 解决笔记本电脑外接显示器屏幕显示不全(有黑边)的问题

选择适合自己显示器的模式即可。

2023-12-14 16:10:41 44893 6

原创 Ubuntu中开机后弹出终端并在终端中运行自定义程序的方法

2. 在终端中输入以授予用户权限。3. 在终端中输入以启动Startup Applications软件,若提示找不到,则按提示安装即可。4. 在Startup Applications中配置自定义程序的自启动。

2023-12-12 23:24:34 1528

原创 解决Ubuntu中基于海康SDK二次开发程序自启动时找不到动态链接库问题

在自启动脚本中设置环境变量。

2023-12-11 22:23:40 596 1

原创 linux-headers安装

linux-headers是开发内核模块和驱动程序的必要工具。

2023-08-11 08:52:11 4668 3

原创 解决STM32CubeIDE通过ST Link V2下载程序报错:Error: failed to erase memory Encountered Error when opening

Error: failed to erase memoryEncountered Error when opening C:\ST\STM32CubeIDE_1.12.1\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.600.202301161003\tools\bin\STM32_Programmer_CLI.exeError in STM32CubeProgrammer

2023-06-19 15:53:42 5158 7

空空如也

空空如也

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

TA关注的人

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