自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 VDD、VBAT、VDDA、VREF+区别

为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰,ADC的电源引脚为VDDA是ADC参考电压,VREF+通常在100pin以上的芯片会存在,100pin一下的芯片仅存在VDDA,实际上VDDA与VREF相连接。使用电池或其他电源连接到VBAT 脚上,当VDD 断电时,可以保存备份寄存器的内容和维持RTC的功能。

2023-05-16 10:59:56 3452

原创 按键的短按和长按检测

在中断服务函数中加一个比如10ms的延时函数,延时时间的长短取决于实际所用的按键特性,只要延时时间比抖动时间略大即可。原理很简单,加了延时就避开了抖动的这段时间,在延时之后判断引脚电平,如果为低电平就表示是按下。这个方法很简单,但是不好的地方是延时占用MCU资源。尤其是这里的BLE应用,在中断服务函数中执行时间长会引起蓝牙连接中断,所以这里不能这么用,我实际测试当按键按快一点就很容易引起蓝牙连接中断。需要注意的是:10ms定时器不是一个周期性的定时器,它是一次性的,即时间到了之后就停止计时了。

2023-05-15 10:17:47 1729

原创 STM32的功耗模式

有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for。在停止模式中可以选择电压调节器为开模式或低功耗模式,可选择内部 FLASH 工作在正常。区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新。:它除了关闭所有的时钟,还把 1.2V 区域的电源也完全关闭了,也就是说,从待机模。:仅关闭了内核时钟,内核停止运行,但其片上外设, CM4 核心的外设全都还照常。进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.2V。

2023-05-11 10:35:35 961

原创 MPU6050详解(含源码)

前言:MPU6050是一款强大的六轴传感器,需要理解MPU6050首先得有IIC的基础,MPU6050 内部整合了 3 轴陀螺仪和 3 轴加速度传感器,并且含有一个第二 IIC 接口,可用于连接外部磁力传感器,内部有硬件算法支持.

2023-05-06 19:37:09 12431 3

原创 嵌入式C语言基础(STM32)

define是C语言的预处理命令,它用于宏定义,用来将一个标识符定义为一个字符串,该标识符称为宏名,被定义的字符串称为替换文本,采用宏定义的目的主要是方便程序编写。一般放在源文件的前面,称为预处理部分。这个仅仅只是程序文本进行替换,通常用于修改某个数据较为麻烦,使用#define。如果要重命名一个变量,正确操作应该是使用typedef。用法:#define [别名] [字符串]其中,字符串可以是常数、字符串和表达式等。例如:#define Temp 25。

2023-05-05 13:31:19 2340 1

原创 玩转传感器----理解时序和数据采集(DHT11)

该文章以DHT11模块进行分析。

2023-05-04 20:38:29 1174

原创 CAN总线(HALL库使用)

1.闭环特点:速度快,距离短(40m)2.开环特点:速度慢,距离长(1000m)

2023-05-04 00:16:47 1404 1

原创 STM32下载电路和启动模式

其中SW使用CLK和SWDIO两个IO引脚分别为PA14和PA13,因此最小系统核心板只有四个引脚。常用的下载模式有两种JTAG(5针)和SW(2针),两种下载模式的引脚是通用的。设置boot0和boot1控制,分别为PB2和PB8,通常为flash启动。

2023-05-03 15:55:20 1711

原创 STM32CubeMX时钟树配置详解(F103)

学习时使用的是stm32f103系列芯片,文档的时钟树属实不适合新手阅读,STM32cube的功能很强大,时钟树清晰明了:首先我们要知道,芯片需要一个频率来进行工作,通常选用的是晶振来提供工作频率,很显然不在芯片内部,是。在上图中,我们仅需要关注蓝色框部分,这里我们(High Speed Extern--高速外部时钟),根据左边可知,输入频率设置为8Mhz。这里有同学可能会去想,为什么LSE时钟源是灰色的,因为在这里。

2023-05-03 10:22:34 4555

原创 串口信息打印规范(含打印技巧)

方法二中,若#define USER_MAIN_DEBUG,则使用user_main_printf();可以直接打印你所需的信息,而且自带\r\n,若未进行宏定义,使用对应函数则打印空白。在每一段串口打印的程序段中,加入#if Log和#endif,开启/屏蔽打印段仅需修改Log的值,为1/0-->打印/不打印信息。这里的串口打印使用printf函数,这里使用了printf重定向(借鉴的)日志级别:info(初始化)、debug(运行过程)、error(报错)[日志级别] 文件名 : 日志信息。

2023-05-02 15:02:10 2424

原创 一天学完UCOS III(上)

1.UCOS任务状态2.任务控制块(OS_TCB):保存任务信息结构体3.任务堆栈(CPU_STK):创建任务时传把任务堆栈的参树传入4.任务优先级:高优先级任务可以抢占低优先级任务当任务都运行while循环,高优先级任务可以打断或终止低优先级任务5.任务调度:讲解任务调度/切换的机制,不需要特别去了解。

2023-04-27 11:40:05 559

原创 Linux 触摸屏 (IIC驱动详解)

本文使用触摸屏iic驱动,驱动编写中要使用总线,设备,驱动分层的思想,IIC总线,触摸屏驱动,触摸屏设备,

2023-04-11 10:51:47 1710

原创 Platform虚拟总线(设备驱动分离详解)

platform_device是device的子类,设备数据类型为device,通过device_register向内核注册设备,注册设备时,名字相同时匹配成功,驱动与设备匹配以后驱动的probe函数就会执行。1、无设备树的时候,此时需要驱动开发人员编写设备注册文件,使用platform_device_register函数注册设备,最终执行probe函数。2、有设备树,修改设备树的设备节点即可,当设备与platform的驱动匹配以后,就会执行platform_driver->probe函数。

2023-04-11 10:08:31 360

原创 Linux学习记录(linux的概念及32内核介绍)

Cortex-M3是32位的内核,因此其PC指针可以指向2^32=4G的地址空间,也就是0x0000_0000——0xFFFF_FFFF这一大块空间。根据图中描述,Cortex-M3内核将0x0000_0000——0xFFFF_FFFF这块4G大小的空间分成8大块:代码、SRAM、外设、外部RAM、外部设备、专用外设总线-内部、专用外设总线-外部、特定厂商等。不同类型的STM32单片机的SRAM大小是不一样的,但起始地址都是0x2000 0000,终止地址都是0x2000 0000+其固定的容量大小。

2023-03-27 16:05:05 411

原创 图像边缘检测④( Sobel边缘算子,Prewitt边缘算子,Laplacian边缘算子,Canny边缘算子)

总结:Canny处理图像时,保留图像的细节会更多,适合对于需要细节的边缘检测,衣服褶皱可以检测出来。Prewitt去噪效果比较好,但是不会保留细节部分,保留的大部分是边缘轮廓,轮廓较宽,会有明显断点,不适合处理道路信息,Sobel较综合,图像不错。上述比较推荐的两种算法。

2022-03-02 18:57:55 7231 1

原创 电机驱动详解--从原理到智能车驱动(DRV8701)

2022-03-02 18:30:21 21079 1

原创 图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)

Roberts算子是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘走向垂直。Roberts算子边缘定位准,但是对噪声敏感。适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts算子来提取道路(智能车摄像头采集信息)。

2022-02-28 12:55:38 6973

原创 基于Matlab的图像处理②(图像增强技术,中值滤波,均值滤波)

基于Matlab的图像处理②(图像增强技术,中值滤波,均值滤波)

2022-02-28 12:30:59 8901 3

原创 如何使你的直流电机闭环?(PID讲解)

看了看很多大佬写的PID讲解很全面也很复杂,实在是不适合很多萌新入坑,所以想按自己的理解写一篇通俗易懂的PID算法讲解

2022-02-28 09:52:28 12828 9

原创 基于MATLAB的图像处理①(图像导入,对比度调节,多图分区域显示)

基于MATLAB的图像处理(图像导入,对比度调节,多图分区域显示)新手向

2022-02-25 16:56:48 8450

转载 ESP32自动下载电路(莱洛三角形ESP32自动下载部分)

ESP32下载分析ESP32作为很火的一款国产wifi+蓝牙芯片,终于我也要用上了。对一些硬件上的问题也做一个记录,因为一般自己DIY的话,硬件当然也就自己设计了。ESP32的硬件设计,当然从下载开始。如果直接用ESP32现成的模块,那真的省心很多,毕竟好多东西人家都帮你做好了。先从下面的图开始看,ESP32的启动模式如下,事实在模块上还有一个EN引脚。其实真正起作用的,是GPIO0和GPIO2,EN这个事实上是内部一个电源使能引脚。方式一:方式二:我们可...

2022-01-21 11:03:50 7531 1

原创 5V升压串充3*3.7V芯片CS5095E电路(莱洛三角形的充电部分)

一:芯片概要 CS5095E是一款5V输入,最大1.2A充电电流,支持三节锂电池串联应用 ,锂离子电池的升压充电管理IC。CS5095E集成功率MOS,采用异步开关架构,使其在应用时仅需极少 的外围器件,可有效减少整体方案尺寸,降低BOM成本。CS5095E的升压开关充电转换器的工作频率为500KHz,转换效率为90%。CS5095E输入电压为5V,内置自适应环路,可 智能调节充电电流,防止拉挂适配器输出可匹配所有适配器。 二:充电过程 CS5095E采用完整的CC/CV充电

2022-01-14 13:21:48 5948 1

原创 TPS54331DDAR降压芯片详解,一位电子大学生的日常分享(莱洛三角形的DC-DC降压部分)

最近看到不少莱洛三角形的资料,决定开始着手做一个出来,因此开设一个新的专栏--莱洛三角形。先从稳压部分开始讲起。DCDC降压芯片大同小异,原理都差不多,这次我使用的是TPS54331系列的芯片。一.特性1.3.5 ~ 28v输入电压范围2.可调输出电压低至0.8 V3.MOSFET支持3-A连续输出4.固定570 kHz开关频率5.典型的1- A关机静态电流6.可调节慢启动限制涌流电流可编程的UVLO阈值7.过电压暂态保护二:图一为引脚配置及功能,图二为经典电路图一:

2022-01-04 11:37:06 30506 11

原创 c++二叉树的创建及遍历(前序,中序,后序)带详细注释

自己确定一棵二叉树(树结点类型、数目和结构自定),利用顺序结构或者链式存储结构方法存储实现树的构造,用前序遍历、中序遍历、后序遍历输出结点数据。

2021-12-25 11:12:53 748

原创 定义一个有理数类,重载比较运算符<、>、==,设计一主函数来测试上述运算符。(c++中运算符重载的基本用法)

c++中运算符重载的基本用法

2021-12-15 10:05:15 2131 1

原创 编写一个程序计算三角形、长方形和圆形的面积,要求抽象出一个基类base,在其中说明一个纯虚函数,用来求面积,并利用单接口,多实现版本设计各图形面积的方法。

编写一个程序计算三角形、长方形和圆形的面积,要求抽象出一个基类base,在其中说明一个纯虚函数,用来求面积,并利用单接口,多实现版本设计各图形面积的方法。

2021-12-15 10:01:28 3564

原创 12V转5V稳压电路详细分析(7805三端稳压,LM2596稳压)

7805线性三端稳压DCDC的意思是直流变到直流(不同直流电源值的转换),只要符合这个定义都可以叫DCDC转换器,或称之为开关电源或开关调整器。7805属于常用的线性三端稳压器,输入电压范围不大于35V,输入输出压差2V,最大输出电流1.5A,下图为原理图,其原理简单,使 用方便,深受很多用户的喜爱。但是其不足之处就是效率低,特别是压差越大时其效率越低。比如这里12V转5V的效率为 5V/12V≈41.7%。如上电路是最经典的7805稳压5V电路,电路中有两个电容,电容的作用如下:...

2021-07-26 11:08:29 66352 8

原创 最通俗易懂的PID讲解(控制原理详解及作用分析)

PID的定义:PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。

2021-06-19 16:41:03 102653 12

原创 完全重映射和部分重映射分析(超详细)

芯片的重映射功能是为了最大化利用IO口,减少IO口数量,每一个内置外设有若干个输入输出引脚,对应的IO口是固定不变的,为了让设计师更好走线且使用功能,引入了重映射。设置复用 重映射和调试I/O配置寄存器,实现引脚的重新映射。这时,复用功能不再映射到它 们的原始分配上。REMAP=0表示为默认引脚,REMAP=1表示为开启重映射...

2021-06-19 11:05:17 14454 8

stm32C8T6PCB和原理图

STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装。 ​ 具体参数为: 64K x 8bit的Flash 20K x 8bit的SRAM 37个GPIO,分别为PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1 2个12bit ADC合计12路通道,外部通道:PA0到PA7以及PB0到PB1。内部通道:温度传感器通道ADC_Channel_16和内部参考电压通道ADC_Channel_17 4个16bit定时器/计数器,分别为TIM1、TIM2、TIM3、TIM4 2个看门狗定时器(独立看门狗IWDG、窗口看门狗WWDG) 1个24bit向下计数的滴答定时器systick 2个IIC,2个SPI,3个USART,1个CAN 内部8MHz时钟HSI最高可倍频到64MHz,外部8MHz时钟HSE最高可倍频到72MHz

2023-05-04

学习原子的课程,找了很久安装包,亲测可用!!!

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。

2023-03-08

基于MATLAB的人脸图像识别(带GUI,使用PCA和ORL)

ORL 人脸库(Olivetti Research Laboratory 人脸数据库),诞生于英国剑桥,该库是目前使用最广泛的标准人脸数据库。PCA 的人脸识别算法的主要思想就是在原始的人脸空间中求出一组正交向量,然后利用 PCA 方法保留其中包含重要人脸信息的向量,由其构成一个新的人脸特征空间,称其为特征脸。后续将待识别人脸与特征脸进行比较 使用方法:使用matlab软件打开gui.m文件,运行即可。

2022-05-30

STM32_template.zip

本文档包含stm32f103系列C8T8,RCT6,ZET6的工程模板,还有芯片的数据手册!

2021-06-20

六足机器人3D打印模型 (solidworks和犀牛).zip

适用于想做六足机器人的朋友,本文件包含六足机器人的主体结构,六条足部的三个关节结构,适用于soildworks和犀牛两个软件打开。

2021-06-20

空空如也

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

TA关注的人

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