自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu环境下 运行可执行程序报错(改环境变量解决)

再找到对应需要包的路径,对PYTHONPATH进行临时修改。的包,这里可能是环境变量没配好,通过。关键在最后一句 发现找不到 名叫。找到 PYTHONPATH。

2025-02-23 11:33:20 298

原创 opencv细节

CV_64F 是 OpenCV 中用于表示数据类型的宏,具体来说,它表示双精度浮点数(double)。在 OpenCV 中,不同的数据类型有特定的宏来表示,这些宏通常用于创建矩阵(Mat)或进行类型转换。OpenCV 提供了一系列宏来表示不同的数据类型,这些宏在 cv::Mat 的创建和操作中非常常用。

2024-11-21 15:55:51 465

原创 waitkey() 暗藏玄机

在 GUI 应用程序中,用户交互(如鼠标点击、滑动条移动等)会触发事件,而这些事件需要被处理。OpenCV 的 waitKey 函数实际上是一个事件处理循环的一部分,它会不断检查是否有新的事件发生,并处理这些事件。在学习到滑动条时 有createtrackbar的函数,他用到一个参数,调用一个回调函数。会阻塞程序,等待用户按键。在等待期间,OpenCV 会不断检查是否有新的事件发生(如滑动条移动),并处理这些事件。事件处理:在等待按键的同时,处理 GUI 事件(如滑动条移动、窗口关闭等)。

2024-11-21 15:33:19 499

原创 VS2022项目配置笔记

的路径,编译器会在这个路径下查找头文件。//若要深入下一层目录,则需要在 #include 中指明文件相对路径。对于 ProjectA 将解析为 C:\Projects\MySolution\ProjectA\。对于 ProjectB 将解析为 C:\Projects\MySolution\ProjectB\。将解析为 C:\Projects\MySolution\。

2024-11-10 15:34:49 696

原创 硬件常识

(万用表调至二极管档/蜂鸣档) 测NPN三极管。

2024-11-04 19:15:16 207

原创 如何申请动态二维数组?

差值 2-3: 9570922722384 - 9570922722816 = -432 字节。差值 1-2: 9570922722688 - 9570922722384 = 304 字节。差值 3-4: 9570922722816 - 9570922722432 = 384 字节。差值 4-5: 9570922722432 - 9570922722352 = 80 字节。这样分配的内存对各行的地址不连续。与法一相比,各行的地址是连续的。其中array是二级指针,

2024-10-30 20:47:01 367

原创 回溯法 | 无限个for循环?

最开始遇到这样一个问题,认为可以用几个for循环暴力解决,然而仔细观察后发现,针对不同的输入,我需要的for循环的个数不一样,只能使用递归的方法。,我们需要一个个算出结果,再在合适的时候放入。因为用回溯法求解的问题的答案 都是。回溯算法,寻找问题的。

2024-10-29 14:25:40 229

原创 前缀和算法 | 计算分矩阵的和

需要一个sum数组(和输入数组一样长) 从序号一 开始累加,得到每个序号对应的和的值。由图可知,sum可以分为四个小块,于是我们得到下面公式。有点类似与概率论里的分布函数(单调不减)的概念。若要求某一区间内的值。

2024-10-27 15:14:12 650

原创 数组指针

既然是指针 , 对它解引用是什么结果呢。表示指向第二行的指针。

2024-10-27 09:13:17 156

原创 了解下VS Code的launch.json

“g++”: 在启动调试之前先运行名为 g++ 的任务。,它们定义了配置项的结构。: “(gdb) Launch”: 给这个调试配置起的名字,用户可以在 VS Code 的调试界面中看到这个名字。: “-enable-pretty-printing”: 发送给 GDB 的实际命令文本,启用漂亮打印功能。: “E:/MingW/bin/gdb.exe”: 指定 GDB 可执行文件的路径。: []: 运行程序时传递给程序的命令行参数列表,这里是空的。: “gdb”: 指定使用的调试模式是 GDB。

2024-10-25 20:15:43 1151

原创 VS studio用的编译器是mingw吗

不过,通过一些额外配置,你也可以在 Visual Studio 中集成 MinGW 编译器,但这不是默认设置,需要用户手动进行配置。但是,如果你安装了“使用 C++ 的桌面开发”工作负载,那么你可以选择额外安装适用于 Linux 开发的组件,这将包含 GCC 编译器等工具,但这些通常是为远程 Linux 系统准备的。当你在 Windows 平台上使用 MinGW 时,实际上就是在使用一个移植版本的 g++ 来编译你的 C++ 项目。你可以在 VS Code 的设置中指定 MinGW 的路径,或者。

2024-10-25 19:24:47 690

原创 三极管状态判断

2024-10-15 15:53:34 116

转载 诱骗器是什么 和 升压模块有什么区别

比如我的电源是联想的口红电源65w。能输出 5 9 12 15 20 这几个电压。那么 电源是如何知道 应该输出什么电压的呢。具体我不懂 , 但是肯定是有一个协议的 插上设备后 电源可能会有一个检测的过程。然后设备 告诉电源 我需要的电压是什么。你如果想用在充电宝 配合路由器使用 首先需要 选一个支持pd协议的 充电宝。诱骗线就是诱骗 pd协议中的电源输出一个 自己想要的电压。然后购买对应电压的 对应接口 的诱骗线。然后你要看你的路由器的输入电压。我现在就用诱骗线给我笔记本充电。

2024-10-05 15:27:26 746

原创 3.2 USART 通用同步/异步收发器

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里自带波特率发生器,最高达4.5Mbits/s可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2)可选校验位(无校验/奇校验/偶校验)

2024-09-23 17:07:39 761

原创 可变参数函数

在C语言中,函数调用时参数的传递机制实际上,当您调用一个函数时,每个参数都会根据其类型被复制到栈上(对于值传递)或者将指针(对于引用传递)传递给函数。这意味着每个参数都有自己的存储位置,而这些位置通常是按照一定的顺序在栈上分配的。但是,有一种特殊情况是,比如 printf 函数,它可以接受不同数量和类型的参数。在这种情况下,确实可以通过**某种形式的“地址后移”**来访问后续参数,但这需要使用标准库中的头文件提供的宏来实现。

2024-09-22 23:22:29 209

原创 3.1 通信协议

通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统通信协议:制定通信的规则,通信双方按照协议规则进行数据收发全双工:发送与接收互不影响 (如串口通信有两根数据线 tx,rx)半双工 : 同一时刻只能进行发送或接收同步:有时钟信号,用同一个时钟信号进行通信异步:无时钟信号,约定采样频率进行通信。

2024-09-15 20:48:59 596

原创 2.5 ADC模数转换

(为什么转换时间是12.5个ADC周期?请参考上面视频) stm32是12位ADC,要比较12次。STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道。TCONV = 1.5 + 12.5 = 14个ADC周期 = 1μs。例如:当ADCCLK=14MHz,采样时间为1.5个ADC周期。输入部分:支持多路输入,分为两个组输入AD转换器。- (其中采样时间可调整,越长越准确)

2024-09-13 14:13:09 357

原创 i++与++i在for循环中效果一样?

首先说结果是的,在Visual Studio 2022中,不同于直接printf,在for循环中的i++与++i是同样的效果(都当作了i++) 这是编译器干的好事。如图比对i++++i原因探寻 | i++ ++i的底层原理找到一篇博客,我目前还看不太明白,先放在这,以后慢慢参透for循环用i++和++i哪个效率高

2024-09-12 18:38:33 289

原创 在window的命令行cmd调用python 如何换行?

抛开python语法不谈,光看命令行输入的话:如何将一行长代码分成几行来写(方便阅读,但还是等效为一行)但注意python中一行通常表示语句结束Python中,语句通常以换行符结束,而在某些情况下(如控制流语句),则以冒号(: )加上适当的来标识。

2024-09-12 14:41:27 501

原创 嘉立创EDA的使用技巧积累

(上面菜单栏)放置 -> 3d外壳。

2024-09-12 11:00:11 1799

原创 Python中的__name__

一个py文件对应一个__name__文件直接运行时:当一个文件被直接运行时,它的__name__是"__main__"。文件被调用时:当一个文件被其他文件调用时,它的__name__是该文件的名字(不带.py扩展)。因此,无论你在main.py中导入了多少其他的模块,只要你是直接运行main.py,它的__name__就会是"__main__"里的代码就会被执行。

2024-09-11 08:47:00 356

原创 编码器有哪些?

编码器是一种传感器设备,广泛应用于各种控制系统中,用于检测机械运动的位置、速度和方向。根据不同的应用场景和技术特点,编码器可以分为多种类型。

2024-09-09 17:00:40 2855

原创 关系代数 | 数据库SQL

在这里,“相乘”的结果是一个新的表,它的每一行都是一个由两个表中各行组合成的二元组。因此,可以说这是所有可能的二元组的集合,每个二元组包含来自两个不同表的行。如果扩展到更多表的情况下,比如说三个表的笛卡尔积,那么结果将是所有可能的三元组的集合。依此类推,对于任意数量的表,笛卡尔积将是所有可能的相应元组的集合。,每个二元组由一个来自T1的行和一个来自T2的行组成。(若三个集合相乘 将得到三元组组成的集合),每一行是一组有序的值。如果表T1有n行,表T2有m行,那么它们的笛卡尔积就是由n * m个。

2024-09-08 11:19:04 616

原创 Python 的语法元素(容易忘记的)

同步赋值是 Python 语言的一个强大功能,它让代码更加紧凑和高效,尤其是在处理多个变量时。这样 name 变量将被赋值为 ‘Alice’,而 age 变量被赋值为 25。这里,a 被赋值为 1,b 被赋值为 2,c 被赋值为 “three”。这里,a、b 和 c 分别被赋值为 list1 中的前三个元素。这行代码会把 x 和 y 的值互换。

2024-09-07 17:54:32 894

原创 Python 内置的一些数据结构

初学者的笔记,有错误之处望大神指教

2024-09-07 16:00:53 754

原创 Docker | 虚拟机 是一个东西吗

作为0基础的新手对Docker的简单认识,若有错误望大佬指出

2024-09-07 11:22:29 687

原创 常用 Excel 笔记

语法:MID(text, start_num, [num_chars])num_chars:可选参数,指明要提取的字符数量,默认为1。num_chars:可选参数,指明要提取的字符数量,默认为1。语法:RIGHT(text, [num_chars])语法:LEFT(text, [num_chars])start_num:起始位置,即第一个字符的位置。num_chars:要提取的字符数量。text:需要提取字符的文本串。text:需要提取字符的文本串。text:需要提取字符的文本串。用途:从指定位置开始。

2024-09-05 14:51:35 561

原创 stm32的内部时钟源 | RC震荡电路

了解到 内部高速RC振荡器(HSI)就是RC震荡器实现的,故想对RC震荡做些了解与分析。

2024-09-03 15:01:06 729

原创 2.4 定时器与TIM中断

定时器就是计数器动画演示_B站预分频器和计数器的长度都是16bit ,216= 65536预分频器(Prescaler)·:预分频器的值规定在0 ~ n-1(n是输入时钟频率的数值)它像是计数器的一个助手,规定每隔几个脉冲向计数器报告一次,让计数器加1当预分频的值为零时,每一个脉冲计数器加一次;设定值为1时,每隔两个脉冲,计数器加1。

2024-09-01 16:53:09 1265

原创 1.2 新建Stm32 工程

E:\STM32入门教程资料\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm。3•工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里 (对与启动文件的选取,需要看后缀,详见下表)2•工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹。//配置库函数的两个容易忽略的步骤。

2024-09-01 16:05:51 1108

原创 载流子的产生与复合

半导体中能贡献导电作用的电子和空穴称为载流子。

2024-08-29 23:09:43 779

原创 PN结--

当 ( V_D ) 接近于零时,( e^{\frac{V_D}{nV_T}} ) 近似等于1,因此方程中的 ( -1 ) 可以被忽略不计。与通过PN结的直流电流 ( I_D ) 之间的关系。这个方程对于理解半导体器件的行为至关重要。PN结的电流方程通常指的是肖克利(Shockley)二极管方程,它描述了在PN结上的电压。多子受温度影响小 (因为多子基数大,如一百亿加上500可以忽略不计)击穿时电流非常大,还会有很多粒子碰撞,产生大量热量。(加大内电场,直接将耗尽层稳定共价键中的电子。

2024-08-29 20:45:45 1190

原创 晶体管 开关|放大电路

集电极这边面积更大,参杂浓度更低 (因为要收集,所以面积大,浓度小,才有位置放)意味着几乎不从信号源吸取电流,这样可以减少对信号源的影响。发射极这边面积更小,参杂浓度更高 (因为要发射载流子)ps: 33:36开始分析载流子流动。把三极管看成两个PN节分析。

2024-08-29 16:30:24 996

原创 0.0 C语言被我遗忘的知识点

在例子中,char a[5][10] 是一个二维字符数组,用来存储最多5个字符串,每个字符串最长9个字符(加上一个空字符 \0 作为字符串的终止符,使得每个子数组的大小为10)。每个 a[i] 都是一个指向数组 a[5][10] 中某个行首地址的指针,而这一行实际上就是一个字符串。这里,a[0] 是一个指向 a[5][10] 中第一个元素的指针,即 “abcdef” 的起始地址。函数指针是在C语言中一种非常有用的特性,它允许你将函数当作参数传递给其他函数,或者在运行时决定调用哪个函数。

2024-08-28 21:25:54 965

原创 1.4 输入缓冲区相关的笔记

scanf函数的细节?一网打尽

2024-08-28 20:36:09 876

原创 Keil调试全局变量 watch窗口显示cannot evaluate | 局部编译与全局编译

总的来说,就是keil的优化太猛了(即便是最低级0级)。x无法显示的原因是x并没在函数中用到(没有作用)自然被keil优化,放到了cpu的寄存器中,也就无法寻址。

2024-08-28 10:01:49 1188

原创 1.5 VisualStudio内存调试的一些选项配置

Ps:内存中49在前30在后的反常识显示方式是由于vs采用小端存储方式,内容详见本专栏1.1。如图中一个块是按一个字节(十六进制占两位)配置,显示方式是按十六进制。

2024-08-27 22:37:08 464

原创 0.3 学习Stm32经历过的磨难

MDK报错 Browse information not available

2024-08-27 21:12:43 2374

原创 0.1 认识常见调试器与协议 | KeilMDK的调试

①复位,回到整个程序的入口②全速运行③Step (F7 或 Ctrl+F7)功能:当你在一个函数调用上使用 Step 命令时,调试器会进入该函数的内部,并开始逐行执行该函数的代码。应用场景:当你想要深入了解函数内部的工作机制时,使用 Step 命令。④Step Over (F10 或 Ctrl+F10)功能:当你在一个函数调用上使用 Step Over 命令时,调试器会执行该函数调用(但不会进入函数调用的内部。),然后停留在函数返回后的下一行代码。应用场景:当你不关心某个函数内部的细节,只

2024-08-27 19:56:44 257

原创 2.3 stm32 EXTI中断

参考前辈的blog:https://blog.youkuaiyun.com/wuyuzun/article/details/72783152。

2024-08-23 13:00:45 325

空空如也

空空如也

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

TA关注的人

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