自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vim 新建 C/C++ 文件时自动插入超级模板(带文件名、日期、作者、一键跳到 main)

配置一次,终身高效。从此你打开 Vim 写 C/C++,不再敲 include,不再敲 main,不再敲注释头,不再敲重复代码打开文件就是:👇👇👇“光标停在 main,直接写!

2025-11-23 11:10:10 388

原创 寄存器映射与偏移地址

每个寄存器有不同的偏移地址你必须加上对应寄存器的偏移地址,才能访问到该寄存器。这就是内存映射 I/O的工作原理。外设的每个寄存器都有一个固定的基地址。每个寄存器相对于其基地址有一个偏移地址。访问寄存器时,计算出它的实际地址:基地址 + 偏移地址。然后,通过该地址来读写寄存器。偏移地址告诉你如何从基地址计算出寄存器的真实地址。每个寄存器有固定的偏移地址,操作时必须加上该偏移,才能访问到正确的寄存器。STM32 的寄存器都是内存映射寄存器,我们通过它们来操作外设。

2025-11-10 15:52:41 718

原创 寄存器方式驱动蜂鸣器

本文详细介绍了如何通过STM32控制蜂鸣器发声的完整流程。硬件方面,使用PC9引脚通过PNP三极管(8550)驱动蜂鸣器,低电平有效;软件实现包含三个关键步骤:1)使能GPIOC时钟(RCC_APB2ENR),2)配置PC9为通用推挽输出模式(GPIOC_CRH),3)通过GPIOC_ODR寄存器输出低电平控制蜂鸣器。文中提供了寄存器配置细节和宏定义方法,并附完整代码示例。核心要点是:开时钟+设输出模式+输出低电平=蜂鸣器发声。

2025-11-10 14:44:08 361

原创 虚拟机Ubuntu创建主机的共享文件夹快捷方式

摘要:本文介绍在VMware Workstation中实现Ubuntu与主机共享文件夹的方法。关键步骤包括:1)设置共享文件夹;2)通过编辑/etc/fstab配置文件添加自动挂载命令;3)若遇权限问题,使用chmod 777修改文件权限;4)最终在/mnt/hgfs目录下查看共享文件,并可通过ln命令创建桌面快捷方式。该方法解决了虚拟机与主机间文件共享的常见问题,提供了完整的操作流程和解决方案。

2025-10-23 16:00:29 161

原创 Python中的装饰器

Python装饰器是一种在不修改原函数代码的情况下为函数添加额外功能的技术。本文通过一个简单示例展示了装饰器的基本用法:定义一个装饰器函数decrotor,它接收一个函数func作为参数,并返回一个新的wrapper函数。当使用@decrotor语法装饰sayhello函数时,调用sayhello("张三")实际上会先执行wrapper函数,在调用原始函数前后分别打印提示信息。调用链为:sayhello→wrapper→原始函数。这种机制使得我们可以在不改变原函数的情况下扩展其功能。

2025-08-30 15:05:23 229

原创 手机和电脑屏幕共享

手机投屏电脑失败?三步轻松解决!本文分享手机投屏电脑的实用技巧:1)确保设备连接同一网络,在电脑启用媒体流功能;2)进入系统设置开启"投影到此电脑"选项;3)手机搜索设备并确认连接。适用于Win10及以上系统,操作简单易懂。遇到投屏问题的朋友可以试试这个方法哦~(点赞关注获取更多实用技巧)

2025-08-29 20:26:14 407

原创 NVIC中断

STM32中断机制与USART1中断配置摘要 本文详细介绍了STM32的NVIC中断管理机制,包括中断响应流程、优先级分组规则和中断配置方法。重点讲解了USART1的中断配置过程,通过缓冲区管理和空闲中断标志实现高效数据接收。中断处理函数需快速执行且无参数返回值,文章还提供了完整的USART1初始化代码和中断处理函数实现示例,展示了如何利用NVIC管理外设中断,实现可靠的数据收发功能。

2025-08-27 10:33:33 779

原创 使用HAL库来配置STM32F103的光敏电阻并驱动蜂鸣器

本文介绍了如何配置STM32F103RCTx芯片的ADC模块采集光敏电阻信号。通过CubeMX配置PC0引脚为ADC1_IN10通道,设置采样时间≥71.5周期以确保稳定采样。电路采用10kΩ上拉电阻的分压结构,PC0必须设为模拟输入。代码部分展示了ADC初始化、轮询采样和电压转换的实现,通过串口打印输出光强数据。最后提醒用户代码需放在CubeMX生成的特定注释区域内,避免重新生成时被覆盖。配置完成后可实时监测光敏电阻的电压变化(亮时数值小,暗时数值大)。

2025-08-19 17:37:17 883

原创 两个USART间的硬件流控制

摘要:USART1和USART2通过RTS/CTS硬件流控实现可靠通信。数据通过交叉连接的TX/RX线传输,而nRTS/nCTS信号实现双向握手控制。当接收方缓冲区满时,通过拉高nRTS信号通知发送方暂停传输;缓冲区空闲后拉低nRTS恢复通信。该机制由硬件自动完成,无需软件频繁检测状态,有效防止数据溢出。RTSE和CTSE寄存器位分别控制RTS和CTS功能使能,实现发送/接收的自动协调。

2025-08-17 23:48:59 515

原创 中断向量表中弱函数和强函数的定义

摘要:弱函数(WeakFunction)是通过__attribute__((weak))修饰的函数,其特点是在链接时若存在同名强函数会被覆盖,否则保留实现。强函数(Strong Function)是默认函数定义,会覆盖弱函数,多个同名强函数会导致链接错误。典型应用场景包括中断向量表(允许用户覆盖默认空函数)和库函数默认实现(如Error_Handler)。规则为强函数优先于弱函数,未被覆盖的弱函数会保留其实现。

2025-08-17 16:24:01 312

原创 uart传输顺序

UART串口通信采用LSB(最低有效位优先)传输方式。以字符'A'(0x41,二进制01000001)为例,实际发送顺序为从bit0到bit7:1→0→0→0→0→0→1→0,与常规的二进制书写顺序相反。这种传输机制导致数据位看起来是"反序"发送的,但符合UART标准规范。

2025-08-16 21:16:04 583

空空如也

空空如也

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

TA关注的人

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