自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 外部ad采集 参考电压设置成3.3v

1. 采集上来的值,需要除以4096以后再乘以3.3v,才能得到想要的电压值,因为是12位的采样精度,所以是除以4096 ,而乘以3.3v是因为给ad采集的参考电压范围是3.3到0v,所以最大能采到3.3v的电压,最小是0v的电压。2.参考电压的硬件引脚是20 脚vfe+和21脚vfe- ,一个给3.3v,一个给0v。这个是stm32vetc6ad采集,需要注意是有两点。

2025-03-27 17:58:15 187

原创 iic 正点原子标准库 at24c512 可以用在bl24c512a

2025-03-26 09:49:32 229

原创 f103vet6 使用串口3 但是是pd9 和 pd10,不是正常的串口三引脚,就需要重映射

使用gpio-fullremap-usart3这个全部重映射,而不是部分重映射,才可以运行。

2025-03-26 09:47:39 256

原创 bat windows 自启动

q。

2024-12-17 16:42:26 111

原创 qt 封装 调用 dll

第三,如果调用dll失败,那么大概需要将dll文件放在exe那一级目录下。第一.需要将dll的头文件添加到qt的文件夹里面。但是有几个地方要注意。

2024-12-11 11:14:11 783

原创 三极管 加电阻后电压分析 下拉电阻电压分析 各个点的电压分析

第二个方法,因为三极管具有放大电流的能力,一般饱和是ib加ic等于1mA,理想情况下,ib和ic的关系是100倍,(不考虑温升材料各个情况)那么ib的电路差不多是10微A,所以三极管其实相当于一个很大的电阻,这样才能够把电流限制下来,所以如果没有2k的下拉电阻,这个电路只有a点之前的一个2k电阻和a点之后的三极管,和下一个电阻的话,a点的电压其实可以近似等于3.3v,因为a点之后相当于一个大电阻,分去更多的电压。下图r213,r294和d5和q220的这个三极管分析。

2024-12-04 21:56:07 284

原创 电感 续流回路

差一个图。

2024-10-26 12:21:30 164

原创 二极管 钳位电压

一个24v的电源,串联两个电阻,电阻都是1k欧,然后在两个电阻中间,接一根导线出来串联接一个二极管正极,二极管的正向导通电压是0.7v,二极管负极接3.3v,这个时候二极管能钳位的电压是好多?多的电压被二极管以电流形式消耗了。我不理解的就是 为什么会钳位。

2024-10-25 23:51:39 220

原创 spi hal库 正点原子版

这个是我不懂为什么要发空字节0xff来读取数据,看第三点读取数据,他说的需要一个时钟信号才能继续读取数据,这个解释是对的,因为课上也是这样说的。spi最主要就是极性和相位的选择,spi是边沿采集,和iic的电平采集不一样,所以需要通过极性和相位来看是什么时候采集。这个是nor flash这个存储器,就相当于是eeprom的升级版,它的驱动步骤。这个是spi在f1和f4和f7和h7使用的相关的寄存器,其实我觉得就看一下就好。这个图主要是看右边的这个几个参数,在写spi代码的时候来怎么配置这些参数。

2024-10-06 22:53:52 345

原创 IIC hal正点原子版

iic。

2024-10-04 15:33:27 154

原创 DMA 正点原子版

'dma。

2024-10-04 11:59:21 277

原创 电路知识1 电压具有能量 电流携带能量 类比C语言声明和定义

2.电容 :电容的作用就是存电荷,电容就相当于是一个蓄水池,电荷就相当于一滴水分子,电流就相当于无数个电荷聚集在一起形成水。1.电阻 有很多电阻,什么东西都可以做电阻。电压就是电势差,相当于水势差。

2024-09-26 21:13:44 144

原创 三极管 mos管

npn型:e接负极,b接正极,c接正极,当b接正极的时候,b和e之间有小电流通过,那么可以控制c和e之间的大电流。pnp型:e接正极 ,b接负极,c接负极,当e和b直接有小电流通过的时候,可以控制e和c之间的打电流。

2024-09-22 20:53:13 284

原创 hal 正点原子 exti外部中断

2.这个是f1用于配置外部中断的配置器,也是需要先配置时钟,但是区别在于除了f1 ,别的系列都用的SYSCFG。5.这个是外部中断的使用步骤,说白了就是gpio要配,exti要配,nvic和中断服务函数要写。4.这两张图 都是exti和io的对应关系,f1到f7系列的都有。1.这个是 f4/f7/h7 用于配置外部中断的寄存器。3.这个是外部中断线io和怎么exti对应的。

2024-09-21 11:54:45 383

原创 ad22 如何在pcb 的keepout layout 上画线 然后裁出想要的黑色画布大小

选择下面的keepout layout,然后右键打开,然后按照这个图进行选择。

2024-09-11 22:47:23 448

原创 AD22 左侧菜单不见了

2024-09-11 09:23:24 278

原创 hal DMA

这个图片才是比较重要的图片,hal-uart-transimt-dma这个函数在调用的时候,在它的内部会调用hal-dma-start-it这个函数,所以dma的中断也就用上了,(前提是开了中断nvic和中断时钟)51行 这个是内存到内存的写法,还有一个函数是hal-dma-start-it(),这个函数是被dma-tramit调用的。真正有效的代码,只有77,86,90,92这四行。这个是 dma的串口数据基本配置步骤。这个是自己写的传输函数。

2024-08-25 21:59:54 258

原创 hal库 正点原子版 通用定时器,输入捕获

注意:输入捕获开了两个中断,一个是捕获中断,只要有上升沿或者下降边沿或者双边沿,(主要看设置的捕获什么边沿),然后就会触发捕获中断,另外一个是更新中断,也就是溢出中断。所以捕获中断是有捕获边沿,而更新中断是计数器溢出的时候 ,才会触发这个中断,用来计算捕获的时间。这个是定时器输入捕获的基本配置步骤,主要也是看评论。

2024-08-25 17:27:22 186

原创 hal 正点原子版 通用定时器 输出pwm原理

这个是判断pwm的输出条件排列模式,可以选pwm1或者pwm2模式,然后每个模式有递增计数还是递减计数,例如:根据设置的是pwm1模式的 递增计数,那么计数cnt<crrx时候,输出有效电平,但是有效电平还要根据极性也就是CCxP来判断,是高电平有效还是低电平有效。当改变pwm的比较值的时候,这个时候其实是这样想的,因为pwm如果设置占空比是50%,那么高电平时间其实就是0.25毫秒,以远远大于这个时间的颜色去改变这个pwm的占空比,就相当于是在缓慢改变比较值了。

2024-08-18 23:39:08 336

原创 hal TIM定时器 溢出时间计算

时钟源频率除以psc+1以后得到实际的频率,之所以psc要加1,是因为设置0得到分频是1,就是0-65535和1-65536这样比对的,我觉得是因为是从位运算从0开始计算,所以实际算的时候需要加1,得到实际的频率的倒数就是计数一次需要的时间,这个计数一次的时间×计数值就得到定时的时间,之所以这个计数值需要加1,是因为计数是0其实是没有用的,最少计数一个周期才有效。这个图里面的红色的字就是计算过程。

2024-08-11 18:54:50 513

原创 WWDg 正点原子版

w。

2024-08-09 21:41:08 145

原创 IWDG 溢出时间计算

计算过程如下:因为iwdg是独立看门狗,是用的LSI, 所以在f1系列lsi的时钟频率是40khz,也就是Fiwdg的频率是40khz,频率除以psc(分频系数)就得到iwdg实际工作的时钟频率,也就是知道了一秒钟可以数这么多次,那么数一次也就是频率的倒数,那么需要数多少次也就是再乘以重装载值,就得到了溢出时间。iwdg看门狗溢出时间,就是之前算过的,但是再记录一次。(分频系数就是把频率减小好多倍)

2024-08-09 20:21:27 291

原创 hal库回调函数机制(串口)

2. 第二行 第三行 的 hal库就是 通过中断向量表里面的这个函数 ,再一次调用hal自己的中断回调函数,就是相当于多封装了两层。1. 第一行就是标准库函数的 在 nvic那个中断向量表里面的函数 以前写的都是 在中断向量表里面把这个中断处理函数重写。

2024-08-05 20:39:46 878

原创 正点原子 通用外设配置模型 GPIO配置步骤 NVIC配置

4. 这个是 中断的内容了 ,不是gpio的内容,讲完了gpio以后,讲的中断,这个讲的是 外部中断怎么配置的,就是gpio到外部中断到nvic ,可以把外部中断exti理解成nvic的下属,nvic 存中断服务函数的地址,然后中断服务函数就是处理中断的函数。2.设置中断优先级函数,这个函数里面有三个参数 ,第一个参数是中断名称,第二个是抢占优先级,第三个参数是响应优先级也就是子优先级,1. 这个是通用外设驱动模式配置 除了初始化是必须的 其他不是必须的。6.这个是 nvic的配置。

2024-07-25 21:42:33 385

原创 nmos pmos 简介

2024-07-24 20:33:41 435

原创 qt 1获得文件夹的大小 2删除文件夹里面的所有文件 3查询当前进程是否存在,不存在就重启进程

这个是删除文件夹里面的所有文件,传入的参数就是文件的路径。这个是查询当前进程是否存在,如果进程不存在就重启进程。这个是通过递归获得文件夹的大小。这个是demo的路径。

2024-07-17 15:54:07 262

原创 Qcombox 隐藏某一个item

就这个 三句话就行 判断其实都可以不要。

2024-07-08 13:02:54 220

原创 pwm 呼吸灯(如果灯一直亮或者一直灭)

如果重新设置pwm的预分频和计数周期,设置成999和7199,那么pwm的频率大概是10hz,那么人眼就能明显看到亮灭,但是这个情况下去修改占空比实现呼吸灯的效果,人眼看起来就没有呼吸灯的效果了,因为pwm的频率已经是在人眼所能看见的频率以内了。人眼看起来就只能是一直亮或者灭,因为pwm的频率太高了,但是必须是频率够高,才能实现呼吸灯的缓慢亮缓慢灭的效果。如果这样设置预分频和计数周期,那么算出来的pwm频率如下。

2024-07-07 20:34:59 620

原创 json文件 增删查改

下次有空把我的demo 传上来 在E盘的demo文件夹 json什么名字。这个人的 写的很好 我的demo全是抄他的 抄了就能用。

2024-06-29 20:45:11 321

原创 c++ 子类继承父类

这个例子的路径 E盘 demo文件夹 fatherChildfunc。这个是子类继承父类 是否重写从父类那里继承来的函数。

2024-06-28 00:30:54 186

原创 正点原子 iwdg wwdg timr

arr加1和psc加1 是因为他们都是从1开始算的 这个也是stm32自己定好的 如果写arr写成0 那么最终的arr的值是1 如果arr写出65535 那么最终的arr的值是65536 也就是0xFFFF。4096是stm32固定死的 wwdg的时钟频率是36mhz,因为apb1分频2得到wwdg的时钟频率,这个是stm32自己就这样做的 看cubemx的时钟图也看得出来。这个iwdg 的超时时间的计算公式。timer的 超时时间的计算公式。wwdg 超时时间的计算公式。iwdg和wwdg的区分。

2024-06-28 00:27:43 196

原创 qt 打开pdf 三种方式

3.这个fk项目的插件实现的 但是这个插件有点复杂 里面有很多继承 我没看懂具体每一层跳转逻辑 但是使用没有问题。2.qprocess是一种 23 24 25行。1.openurl是一种方式 11 12行。

2024-06-25 23:39:07 738

原创 为什么按键按下 就会覆盖上拉输入的效果

2024-06-25 23:08:52 254

原创 lcd1602为什么显示字符串,只需要字符串指针++,不需要光标位置也++就可以将字符串显示出来

以上 是chatgpt解释。以下是lcd1602的代码。

2024-06-19 19:25:02 158

原创 tim定时器 输入捕获模式下 TIM–ICStructinit(&TIM–ICStructinit) 这个值 解析

注:有个很坑的地方 我觉得是stm32中文手册的问题 他写的解释只写了tim输入2 3 4和ic1 2 3 4,少写了一个输入1 第一次看见很不好理解。1.这是stm中文手册的图。2.这是解析 我觉得写的不错。主要需要看着图来理解。

2024-06-12 14:43:37 256

原创 C语言实现map数据结构 key—value对应

1.首先43行 createKeyValuePair(char*key ,int value)这个函数就是给一个keyValuePair *pair的指针来通过内存分配将数据key和value存入这个pair指针所对应的内存空间。4.10到15行,是创建6个KeyValuePair*的指针存入每个指针对应的key和value值。17行 创建一个结构体指针数组来存入那6个指针,然后26和27行就是通过指针来访问刚刚存入的数据。3.头文件 struct结构体KeyValuePair就是一个指针一个值。

2024-06-07 15:49:14 530

原创 Spi Pwm Tim 对比分析

SPI时序图 (spi是主从机 所以主机需要从机数据 需要主极先喊从机 把从机喊答应了 才能开始读从机的数据)高电平时间 :一次上升沿和一次下降沿 ,下降沿时间减去上升沿时间。1.cpha为高,cpol为高,则偶数上升沿有效。2.cpha为高,cpol为低,则偶数下降沿有效。3.cpha为0,cpol为1,则奇数下降沿有效。4.cpha为0,cpol为0则奇数上升沿有效。这两张是stm32中文参考手册 461页的。​如何计算周期 :连续两次上升沿时间相减。这四张是学习的视频的照片。

2024-06-03 22:35:10 277

原创 时序图详解

在这张图 这里就是在第九个时钟周期,先把sck时钟线拉低,再把dataout电平拉低,然后再把sck时钟线拉高,保证在sck的时钟线拉高的时候dataout一定已经在数据保存时间了,这样采到的低电平才是有效的(这里需要看采样时间 保存时间 什么的 有另外一个表 下次照一下)1.这是iic总线在回应时候的时序图,data in代表eeprom收到数据,回stm32的ack,数据回应,data out代表stm32收到eeprom的消息,数据输出ack回应。

2024-05-08 23:03:20 400

原创 qcheckbox互斥 也就是单选 纯代码实现 没有ui界面转到槽

2.checkchange()槽函数,通过42行拿到是哪个qcheckbox发出的信号,就是找到哪个qcheckbox的指针,然后遍历所有的qcheckbox,除了发出clicked信号的qcheckbox被置为true,其他的qcheckbox全部都置为false。1.init()函数把所有的qcheckbox找到,然后通过信号与槽,做到点击哪个qcheckbox,哪个qcheckbox就发出信号。

2024-05-01 10:49:40 406

原创 预分频器×重装载值)/LSI频率 为什么等于总时间

例如,如果预分频器设置为64倍,LSI时钟的每个周期将被延长64倍,本来lsi时钟是40khz,则一秒钟计数40000个数,那么一个周期就是25ms,将25ms延长64倍,那么就是160ms,所以如果将预分频器设置为64倍,重装载值设置为625,那么看门狗的总计数周期数就是。1. 第一种算法理解:分频系数 64 ,外部低速时钟40khz, 则一次计数周期160ms ,计数625个数,则有625个周期 ,160ms*625 等于1s。而lsi时钟频率是40khz,意味着有40000个时钟。

2024-04-16 22:07:34 744

写的小东西 udp传输文件 movethread分线程 读文件的操作 这个文件里面解释movetread和重写run函数的区别

写的小东西 udp传输文件 movethread分线程 读文件的操作 这个文件里面解释movetread和重写run函数的区别

2023-08-30

virtualGouZaoConnect.zip

virtualGouZaoConnect.zip

2023-08-13

空空如也

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

TA关注的人

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