自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 stm32使用freertos时延时时间间隔不对,可能是晶振频率没设置

在文件中声明一个函数作为freertos的接口在使用的 HAL 库时,实现为下面这样通过 cubemx 可以知道 stm32f407zet6 的 systick 是从 HCLK 来的和其他型号一样,前面的预分频可以选择 1 或 8所以在实现函数时使用函数来获取 HCLK 频率。接着在中添加如下宏定义110想让 systick 频率与 CPU 相同,就定义为 1, 否则定义为 0.

2025-05-15 23:43:16 445

原创 通过组策略使能长路径

【代码】通过组策略使能长路径。

2025-05-02 13:35:51 239

原创 windows的大聪明设计:不允许未定义符号

简单定义一个只有声明,没有实现的 func 函数,然后定义一个 call 函数内部调用它。然后 main 函数放空。不止是可执行文件,甚至是 obj 库,动态链接库,都不允许有未定义符号。这与 elf 不一样。

2025-04-15 21:36:29 136

原创 获取 arm-none-eabi-ld 默认使用的链接脚本

获取默认链接脚本

2025-04-15 16:56:31 293

原创 单片机中不能启用位置无关代码

在单片机中如果启用了,编译出来的可执行文件变得更大,而且下载后无法运行。在 cmake 中,可以通过如下语句启用位置无关代码。下图是去掉位置无关代码的大小。

2025-04-14 21:43:27 115

原创 windows利用pwsh解除路径长度限制

在 Windows 10 版本 1607 及更高版本中启用长路径

2025-04-01 16:58:34 248

原创 向量的投影

向量的投影和正交分解

2025-03-30 17:04:06 114

原创 证明和差化积公式

和差化积公式及其证明

2025-03-30 16:13:04 145

原创 十二平均律

介绍十二平均律是怎么计算的

2025-03-30 00:20:42 342

原创 单片机中C++的局部static变量的初始化仍然遵循控制流

执行如下测试代码执行两次test_func,在串口观察输出可以看到的构造发生在之后。使用的编译器为 arm-none-eabi-g++ ,单片机为 stm32h743iit6.

2025-03-25 00:42:19 357

原创 小学奥数中的组合学

小学奥数中的组合学

2025-03-24 00:58:35 293

原创 分段函数的复合函数

分段函数的复合函数的2道例题

2025-03-17 00:34:18 148

原创 C/C++的整型除法的商和余数

运行如下代码的结果不必多说,小学数学里就有教了。需要注意的是含有负数的情况。

2025-03-16 12:37:36 412

原创 翻译单元,储存期,作用域

在 C/C++ 中,翻译单元指的是在编译器命令行参数中传递给编译器的文件。这里的 main.c 和 main.h 都是一个翻译单元,因为都通过命令行交给 gcc 了。gcc 不会区分文件的扩展名,只要你交给它了,它都会当成一个翻译单元进行编译。编译后,一个命令行参数中的文件会形成一个 .o 文件,文件中定义的全局变量会被放到 .o 文件的 .data 段中,函数定义会被放到 .o 文件的 .text 段中,静态局部变量会被放到 .o 文件的 .bss 段中。

2025-03-16 00:19:12 389

原创 无符号整型通过调整数轴的解释方式得到补码形式的有符号整型

介绍了无符号整型怎么通过调整数轴的解释方式,从而得到补码形式的有符号整型

2025-03-09 01:54:01 136

原创 C++求解小学数学数三角形个数问题

将每个点标记出来三角形有 3 个顶点,并且两两之间有一条线段连接,并且 3 个点不在一条线段上。将各个点标记出来后,找出所有线段。在找出线段时只需找出所有最长的线段就行了,不需要把线段的子线段也找出来。例如对于线段 FH,只需找出 FH 就行了,不用把 FG 和 GH 也找出来。

2025-03-05 09:17:45 196

原创 在 vscode + cmake + GNU 工具链的基础上配置 JLINK

vscode 使用 JLINK

2025-01-21 11:05:33 1062

原创 基类没有虚析构,即使派生类使用智能指针也一定会内存泄漏

定义一个基类和一个派生类main 函数执行如下代码输出结果如下如果删除基类的虚析构,如下再次执行,输出结果如下没有任何输出。这说明智能指针的删除器没有执行,进而说明智能指针的析构函数没有被调用。所以,基类一定要有虚析构。

2024-08-21 22:19:24 244 1

原创 C# 父类实现的 IEquatable<T> 接口,重写的相等性判断函数都能被子类继承

重写相等性判断方法时,如果想让对象能够在哈希表里正常工作,必须也重写 GetHashCode 方法。但是,如果重写了 Equals 方法,不重写 GetHashCode 方法,会导致明明相等的两个对象返回的哈希值不同(因为他们的引用不同),于是哈希表中的两个位置储存了两个相等的对象。在父类重写的 Equals 方法,继承的 IEquatable 接口,重写的 == ,!重写的 Equals 方法也是一种重载。这个重载是每一个 object 的子类都有的,不重写这个方法时比较的是两个对象的引用是否相等。

2023-07-22 17:10:43 534

原创 编译正点原子STM32MP157开发板uboot源码

路径为将这个压缩包发送到虚拟机中解压,删除压缩包结果如下。

2023-04-06 23:58:19 1660 1

原创 正点原子STM32MP157烧写官方出厂镜像

将拨码开关拨到000,点击复位按钮,然后烧写器点击连接,然后就可以下载了。同时,点击下方的蓝色Browse按钮,将路径设置为正点原子的固件包目录。使用ST烧写器打开flashlayout目录下的tsv文件。然后将拨码开关拨为010,点击复位,在终端中观察输出。中就是官方出厂镜像。成功启动linux系统。

2023-04-06 23:12:40 1043

原创 html —— label 标签

构建如下页面

2023-02-20 22:32:15 830

原创 visual studio 设置格式化文档快捷键

visual studio 自动格式化代码。通过设置快捷键为 F2 ,方便使用。

2023-02-19 18:47:52 1545 1

原创 VC++ 动态库(dll)、静态库(lib)

讲述 VC++ 如何创建动态库、静态库并使用

2023-02-17 00:49:24 2790 1

原创 matlab中的foreach、for in 循环、迭代器

matlab中类似于 foreach 的语法

2022-11-13 22:28:02 3064

原创 arctan函数加上90°;arctan(a/b)与arctan(b/a)的关系

arctan函数加上90°;arctan(a/b)与arctan(b/a)的关系

2022-11-06 13:56:05 3396 1

原创 非最小相位系统;频率特性的对称性

最小相位系统的曲线是顺时针运动,非最小相位系统的曲线是逆时针运动。注意看,上面两张图的奈奎斯特曲线对称后箭头都是向上的。可见,关于虚轴对称是连箭头一起对称的。非最小相位系统是相对最小相位系统来说的。它把最小相位系统的频率特性的实部或虚部取反了。可以看到两张图的奈奎斯特曲线关于虚轴对称,且连箭头都一起对称了。可以看到,上面的半圆频率为正,下面的半圆频率为负。可以看到上面的半圆频率为负,下面的半圆频率为正。可以看到曲线在实轴上0刻度的右边。可以看到曲线在实轴上0刻度的左边。

2022-10-31 00:40:12 3172

原创 使用FreeRTOS的Arduino框架把main函数放到哪了

使用 Platform IO 把 setup() 和 loop() 中的 loop 函数删除,点击编译,报了如下错误提示有一个文件调用了一个没定义的 loop 函数。进入到这个文件,这个文件的内容如下#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "esp_task_wdt.h"#include "Arduino.h"#ifndef CONFIG_ARDUINO_LOOP_STACK_SIZE#define

2022-05-09 12:22:42 773

原创 platformIO放到lib文件夹中的头文件编译时报错找不到

检查文件夹结构首先看README文件,看文件夹组织结构是否正确This directory is intended for project specific (private) libraries.PlatformIO will compile them to static libraries and link into executable file.The source code of each library should be placed in a an own separate dire

2022-05-03 17:13:24 2786 1

原创 C++判断一个类是否是第一次实例化

可以对构造函数下手。构造函数一开始先判断。为什么会有这种需求呢?我有一个类是用来维护wifi连接的,但是wifi模块只有一个,所以只允许有一个实例化对象控制wifi模块。所以当这个类被多次实例化时要知道,并且采取措施防止第二个实例对象去控制wifi模块可以在构造函数中生命一个静态变量作为标志。ConnectWifi::ConnectWifi(void){ static bool bFirst = true; /*先判断是不是第一次被初始化,改类只允许有一个实例化对象*/ if

2022-04-26 21:54:22 1524

原创 msp430f5529 中断向量的宏定义

这一段宏定义位于 msp430f5529.h 的最后面#ifdef __ASM_HEADER__ /* Begin #defines for assembler */#define RTC_VECTOR ".int41" /* 0xFFD2 RTC */#else#define RTC_VECTOR (41 * 1u) /* 0xFFD2 RTC */#endif#i

2021-12-20 19:08:54 1096

原创 圆周运动、一般曲线运动、阿基米德螺旋线

恒长旋转向量的导数一个恒长旋转向量求导后得到的向量的方向与原向量相比,逆时针旋转了 90∘90^\circ90∘ ,而求导后得到的向量的长度与旋转角速度有关。证明例如 a⃗=(cos θ,sin θ)\vec{a}=(cos \ \theta, \quad sin \ \theta)a=(cos θ,sin θ)1、对 θ\thetaθ 求导da⃗dθ=(−sin θ,cos θ)=[cos(θ+π2),sin(θ+π2)]\frac

2021-08-02 12:41:55 6125 1

原创 定时器A增计数模式产生中断使LED灯闪烁

增计数模式用户手册464页设置捕获比较寄存器 CCR0 的值,定时器增计数到 CCR0 的值时,下一个时钟周期的上升沿到来时会清零,重新计数。这种模式下会发生两种中断一种是计数值达到 CCR0 时产生 CCR0 中断,另一种是计数值变成 0 时产生定时器中断,由 TAxIV 代理请求。使用 CCR0 中断#include "driverlib.h"#define FRE_DCO 6400 //DCO的频率,单位为KHZ#define TPR 10000 //定..

2021-06-28 22:23:02 933

原创 F5529 定时器 A 中断

定时器A有两个中断向量CCR0 的中断向量 TAxIV 的中断向量。TAxIV 是中断管理器,类似 8259 芯片。除了 CCR0 以外的 CCRx 的中断和 TAx 的中断都由 TAxIV 代理请求,它们自己不能直接请求。TAxIV占用一个中断向量,而不是多个。无论哪个中断源产生中断,进入的都是同一个中断服务程序。这时候要在中断服务程序中查询 TAxIV 寄存器的值来判断是哪个中断源引起中断,然后执行相应的程序。在 C 语言中可以使用 case 语句。TAxCCR0 CCIFG的优先级最高。在

2021-06-28 21:51:54 768

原创 卷积与多项式乘法的关系

clc;clear;syms ss1=s^2+s+1; %创建两个多项式s2=2*s+5;sp1=sym2poly(s1); %把这两个多项式转换成系数向量sp2=sym2poly(s2);sp=conv(sp1,sp2) %计算两个系数向量的卷积ss=s1*s2; %计算两个多项式的乘法ss=collect(ss,s) %展开括号,按降幂排列结果如下sp = 2 7 7 5 ss = 2*s^3 + 7*s^2 + 7*s + 5

2021-06-04 12:00:02 1937

原创 用自动控制理论分析电力电子中的基本斩波电路

傅里叶级数 - 用自动控制理论分析斩波电路的基础把方波展开成傅里叶级数如果方波输入到一个低通滤波网络中,且基波分量频率就很高了,被衰减得很厉害,高次谐波频率是基波得几倍,更不用说了,于是方波输入到低通滤波网络中相当于一个阶跃信号输入到低通滤波网络中。其他周期信号也是如此。电感的输入电压可以用傅里叶级数展开所以,电感输入电压的谐波分量会被衰减,所以当电感输入电压为方波时,可以用阶跃信号近似。电容的输入电流可以用傅里叶级数展开bode 图如下所以,电容输入电流的谐波分量会被衰减,所

2020-12-18 22:49:40 2143 1

原创 用EMU8086实现段间远调用

STACK SEGMENT STACK STAPN DW 32 DUP(0)STACK ENDS DATA SEGMENT ADDRESS DW 2 DUP(?) ;定义双字变量用来存放远跳转的CS:IPDATA ENDSCODE2 SEGMENT SET_BX:MOV BX,1234H RETFCODE2 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:M

2020-11-04 18:32:13 789

原创 各种DAC的输出电压详细版

权电阻网络DAC如图为什么运算放大器要从反相输入端输入输出等比数列前 n 项和公式各种DAC的输出电流与数字信号的关系其中,n都表示为数字信号输入端的位数权电流型权电流型DAC要外加负的电压源:VEEV_{EE}VEE​恒流源的结构和电流大小输出电压之后的更低位的电流源的电流依次减半。书上的芯片把IREFI_{REF}IREF​的运算放大器包含在芯片内了,只要提供电阻RRR_RRR​和VREFV_{REF}VREF​就行了.开关树型权电容型总结..

2020-08-17 23:59:34 8710 1

原创 555 定时器的时间计算

作为单稳态电路时的暂稳态时间计算接下来就要用电容的全响应公式计算充电时间了,公式推导见:拉普拉斯变换及元件的拉普拉斯变换模型

2020-08-16 00:44:35 11093

原创 555 定时器的 3 种用法判断和解释

文章目录引脚图用法判断作为单稳态电路时作为多谐振荡电路时引脚图用法判断如果不需要自定义回差电压,5 引脚都通过 0.01uF 的电容接地,用来滤波,抗干扰。所以 5 不影响 555 定时器的用法首先看 7 是否悬空,如果悬空,则是作为施密特触发器;没有悬空,而是一条路通过一个电阻连接到 VCCV_{CC}VCC​,另一条路直接连着一个电容或通过一个电阻连接着电容,则是作为单稳态电路和多谐振荡电路。判断为单稳态电路或多谐振荡电路后,再看 2 和 6 引脚是否连在一起,如果 2 和 6 连在一起,

2020-08-15 23:49:58 6521

MSP430F5xx_6xx_DriverLib_Users_Guide-2_91_13_01.pdf

MSP430F5529有两种方式进行开发,一种是利用C操控寄存器,另一种是使用TI公司提供的库函数,第二种方式简单,易上手,但是仍需对单片机的原理,结构有一定了解,否则会一脸懵逼。 这是英文版的手册,讲的是MSP430F5529单片机的API函数及其使用方法

2020-08-27

空空如也

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

TA关注的人

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