自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-10-05 15:27:26 5

原创 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 580

原创 可变参数函数

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

2024-09-22 23:22:29 178

原创 3.1 通信协议

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

2024-09-15 20:48:59 557

原创 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 313

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

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

2024-09-12 18:38:33 246

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

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

2024-09-12 14:41:27 182

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

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

2024-09-12 11:00:11 341

原创 Python中的__name__

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

2024-09-11 08:47:00 317

原创 编码器有哪些?

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

2024-09-09 17:00:40 1188

原创 关系代数 | 数据库SQL

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

2024-09-08 11:19:04 582

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

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

2024-09-07 17:54:32 843

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

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

2024-09-07 16:00:53 607

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

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

2024-09-07 11:22:29 630

原创 常用 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 480

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

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

2024-09-03 15:01:06 565

原创 2.4 定时器与TIM中断

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

2024-09-01 16:53:09 1150

原创 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 1045

原创 载流子的产生与复合

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

2024-08-29 23:09:43 270

原创 PN结--

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

2024-08-29 20:45:45 366

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

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

2024-08-29 16:30:24 925

原创 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 933

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

scanf函数的细节?一网打尽

2024-08-28 20:36:09 825

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

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

2024-08-28 10:01:49 407

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

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

2024-08-27 22:37:08 257

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

MDK报错 Browse information not available

2024-08-27 21:12:43 1607

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

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

2024-08-27 19:56:44 174

原创 2.3 stm32 EXTI中断

参考前辈的blog:https://blog.csdn.net/wuyuzun/article/details/72783152。

2024-08-23 13:00:45 270

原创 1.6 main函数的argv参数解析与用法

argv 参数简介类型: char *argv[]含义: argv 是一个字符串数组,其中每个元素都是一个指向命令行参数的指针。用途: 用于从命令行获取用户传递给程序的参数。argv 参数的索引argv[0]: 程序的名称。argv[1] 至 argv[n]: 用户提供的命令行参数。argc 参数类型: int argc含义: argc 表示 argv 数组中元素的数量,即命令行参数的数量(包括程序名称)。

2024-08-22 11:27:18 144

转载 1.4 推荐的Visual Studio项目配置方式(解决找不到exe文件的苦恼)

解决vs默认的抽象文件输出位置,找不到exe等问题

2024-08-22 10:58:22 24

原创 1.3 VS2022开启内联参数显示

工具 -> 选项 -> 文本编辑器 -> C/C++ -> InteliSence。然后按如下配置启用内联提示。

2024-08-21 23:58:39 200

原创 1.5文件操作

文件是储存在外部介质(磁盘之类的)上数据的集合操作系统是以文件为单位对数据进行管理的,输入输出是数据传送的过程,像水一样流动。所以吧输入输出称为流(stream)。输入输出流。c语言把文件看作是字符(字节)的序列,即由一个个字符/字节组成。一个输入输出流就是一个字节流或二进制流。

2024-08-21 23:51:50 629

原创 1.3 字节对齐

例如,一个 32 位的整数(int)通常会被对齐到 4 字节的边界,而一个 64 位的整数(long long)则会被对齐到 8 字节的边界。这样做的好处是可以提高数据访问的速度,因为在许多处理器架构中,访问对齐的数据比访问未对齐的数据更快。例如,一个 32 位的整数(int)的自然边界通常是 4 字节,而一个 64 位的整数(long long)的自然边界通常是 8 字节。禁止对齐是指不进行任何对齐处理,数据将连续存储在内存中,而不考虑对齐。不同的编译器和处理器架构可能有不同的默认对齐方式。

2024-08-21 00:39:49 746

原创 1.2 VS内存调试 内存中的乱码 烫烫烫屯屯屯

对Visual studio中内存调试时发现的cccc 或cdcd之类的解释,以及“烫烫烫”,“囤囤囤”在初学阶段常有的尴尬现象的分析。

2024-08-20 23:00:54 716

原创 1.1 大端存储与小端存储

硬件架构:不同的处理器架构可能会选择不同的字节序。例如,Intel的x86架构使用小端,而某些网络设备和RISC架构则可能使用大端。计算机采用大端(Big-Endian)和小端(Little-Endian)存储方式的原因主要与数据的。性能优化:小端存储在某些情况下可以提高性能,尤其是在需要频繁进行字节操作的应用中。:在网络通信中,使用大端存储可以确保不同系统之间的数据一致性。所谓大小端存储,就是描述了。

2024-08-20 16:04:56 375

原创 1.1 位域 位段

支持布尔类型的变量,直到 C99 标准才引入了 _Bool 类型作为布尔类型的表示。在 C99 之后的版本中,你可以使用 _Bool 类型来声明布尔变量。然而,为了更方便地使用布尔类型,通常会推荐使用 头文件,该头文件定义了 bool 类型和相关的宏。位域是一种数据结构,它允许程序员在一个整数类型的数据结构中定义多个固定长度的位组(bit groups),这些位组可以分别表示不同的字段或变量。可能会问:不是还有bool类型吗?,而只需占一个或几个二进制位。答:C 语言标准本身并。

2024-08-20 15:31:19 301

原创 74HC595 芯片| 常用于IO口扩展

8 位串行输入/输出或者并行输出移位寄存器,具有高阻关断,高电平,低电平三态。这种三态输出功能使得74HC595非常适合用于总线系统中,因为它可以在不需要驱动总线时将其输出置于高阻态,从而避免多个器件同时试图驱动同一总线的情况发生,减少了电路中的冲突。特点:8 位串行输入,8 位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除 100MHz 的移位频率输出能力:并行输出,总线驱动串行输出;标准中等规模集成电路应用串行到并行的数据转换。

2024-08-19 23:18:00 1141

原创 0.0 什么是批处理文件

它由一系列的命令组成,这些命令是可以在命令提示符(Command Prompt)中手动输入执行的相同命令。如果你需要更复杂的逻辑控制或更高级的功能,可以考虑使用PowerShell脚本,它提供了更强大的功能和更好的性能。批处理文件可以用来自动化一些任务,比如文件备份、系统清理、启动多个程序等。在命令提示符中输入批处理文件的完整路径并按Enter键。pause:暂停脚本运行,等待用户按下任意键继续。@echo off:关闭命令回显。start:启动程序或文件。echo:显示消息。copy:复制文件。

2024-08-19 01:10:01 152

原创 Keil 快捷键

可在 Edit -> Configuration -> Text Completion 中添加和删除模板。

2024-08-18 17:27:05 209

原创 0.0 Stm32相关术语|简写 解释

实时操作系统(Real Time Operating System);了呢,对的,启动文件只是CMSIS的一部分,你是不是跟我一样对它感到既熟悉又陌生呢?CMSIS,可以说CMSIS是开启ARM单片机的金钥匙,是不是想到单片机的。,ARM Cortex™ 微控制器软件接口标准。

2024-08-15 15:41:18 617

空空如也

空空如也

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

TA关注的人

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