- 博客(15)
- 收藏
- 关注
原创 有关Static关键字的深入提问
而静态函数通过 “类级别的封装”,既保留了全局可访问的便利性,又解决了全局函数的缺陷,让代码更有条理、更易维护。这就是为什么静态函数在需要 “类级工具方法” 时特别有用——它们摆脱了实例化的依赖,同时不需要向成员函数一样,必须先构造一个对象才能使用其内部的方法,同时保持了与类的逻辑关联。因此,static等一系列的关键字,是为了写出更规范更健壮更易读的代码,虽然不是刚需,但是却是在某些场合时最佳的选择,能体现程序员的代码水平。函数名” 的形式,清晰地表达了函数的归属和用途,提高了代码的可读性和可维护性。
2025-08-17 09:41:17
887
原创 程序中的内存地址
类的存储空间呢,其可以理解为一个结构体,但是他内部存在成员函数,成员函数似乎是独一份的这是可以理解的,否则创建多个对象每个对象都有一个这样的相同的方法显然是冗余的,这说明成员函数确实只有一份,但是这独一份的函数是在哪里呢,既然他是不会变的,我们很容易会想到它存在于全局区。注:虽然堆区和栈区都属于在RAM,但要注意的是其在RAM中的内存空间不是共享的,这也就是为什么我们需要创建堆空间,因为栈空间的内存很少,这是由其电路特性决定的,而堆空间的内存是其的10倍甚至更多?代码区:存储程序转化后的。
2025-07-10 21:51:24
426
8
原创 使用VSCode创建一个简单的个人网站(1)
VSCode区别于一般的IDE(集成开发环境),其本身只是一个功能比较强大且十分小巧的记事本。但其强大之处在于,用户可以在它的扩展库中,根据自己的需求安装各种各样的插件,以满足不同的开发场景,适合个人用户,小制作的开发使用。
2025-06-25 11:26:30
1726
原创 数据结构----线性表(1)
用一组连续的内存单元依次存储线性表中的各种元素,也就是说,逻辑上是相邻的,实际的物理存储空间也是连续的这样一种数据结构就被称为顺序表。
2025-06-23 00:44:45
439
4
原创 对GPIO电路的完全分析
本文分析了GPIO电路中保护二极管和驱动电路的设计原理。保护电路通过电阻分压将电压钳制在-0.7V-4V范围。输入驱动部分采用上下拉电阻确定电平状态,施密特触发器将模拟信号转换为数字信号。输出驱动采用CMOS电路,推挽输出提供强驱动能力,开漏输出需配合上拉电阻使用(如I2C通信)。文章特别指出电路图未标注但实际存在的上下拉电阻问题,并比较了不同输出模式的特性。此外还提及GPIO的扩展功能如外部中断和复用功能等。
2025-06-06 22:11:52
646
7
原创 LCD1602的时序图分析
可以看到使能之后写数据给我们的时间只有红线这一块,这段时间其实是不确定的,只知道最小需要时间为Pwen-Tdsw=255ns,无法得知最大时间不能超过多少,但要在这一段时间写八位并口数据时间不一定能满足条件。终于我了解到这幅图的意思是指,在Vaild data(有效数据)这段时间一定要保持数据不变,其侧重点在于这段时间数据是正确且不变,而在这一时刻之前的数据理论上来讲什么状态都是可以的,但流氓的一点在于,那我在这之前写正确的数据也不错啊(😀),所以在使能之前写数据是对的。//RW在读和写中选择写,即置0。
2025-05-30 10:43:42
383
1
转载 有关HAL库中Debug进入HAL_Init中闪退的解决方案
关于cubeMX生成的stm32f103C8T6代码无法调试的坑(STLINK)--HAL_Init中死循环_cubemx 不能 cortex debug-优快云博客
2025-05-28 15:16:52
84
5
原创 有关ST-Link下载时显示No-target Link的非硬件问题的解决方案
此时当二次烧录时,该引脚由于没有了调试的功能所以烧录不进去,解决方案时,按住复位键,趁着程序没有重定向引脚功能的时候,把程序烧录进去。同理的,此时Debug也会无法使用,所以在设计之初,就尽量不要占用调试的引脚,否则二次烧录程序和调试都会有困难!,比如 PCB 上 JTAG 引脚被用于其他功能(如 LED、按键等)。(如输入/输出、PWM、UART 等),导致调试功能失效。在排除了硬件上的问题的情况下,很有可能是出现了。在 STM32 开发中,
2025-05-28 10:34:35
526
1
原创 有关Keil中串口调用printf函数出现乱码的解决方案
当我们使用Keil重定向printf函数,进行打印的时候,经常在串口的地方会输出乱码,非常的不爽。
2025-05-27 13:14:06
1286
原创 从零开始的FreeRTOS学习生活(1)
学习FreeRTOS可以解决裸机开发中CPU资源浪费的问题,通过任务调度避免阻塞等待。FreeRTOS是专为嵌入式设计的实时操作系统,相比通用系统更轻量高效。其主要优势包括:1.源码体积小,裁剪后仅1.2MB,在STM32等资源受限设备上仅占用3-10KB ROM;2.提供完整的任务管理机制,封装了高效的任务调度功能,显著提升嵌入式系统的实时性和资源利用率。
2025-05-26 16:06:14
464
2
原创 有关Hal库调用FreeRTOS创建动态任务卡死的解决方案
由于HAl库中的时钟和freertos都是调用systick进行延时且优先级被设置为15(即为最低优先级),无法抢占其他程序,这样一来在高优先级的程序里面运行低优先级的systick时,systick会无法抢占原来的程序,而原程序的结束必须要等systick结束,进而会出现程序卡死的情况。解决方案,设置hal库的时钟源为除systick的其他时钟源即可,并把其优先级设置为1。
2025-05-22 09:39:01
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅