自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DAC0832

以下原理图为单极性电压输出,即Vref=5V,放大增益为1时,由运算放大器进行电流->电压转换,使用内部反馈电阻。DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出到。:数据锁存允许控制信号输入线,高电平有效;:数据传送控制信号输入线,低电平有效;:反馈信号输入线,芯片内部有反馈电阻;

2023-06-22 01:11:37 1847

原创 STM32G431——串口通信

蓝桥杯嵌入式——串口通信。

2023-01-31 09:58:38 2989 1

原创 STM32G431—ADC+E2PROM读写实验

蓝桥杯嵌入式ADC与iic读写实验

2023-01-25 20:35:49 1844

原创 STM32G431学习(3)——PWM输出

PA6输出100HZ,占空比可调的波形,PA7输出200HZ占空比可调的波形。如图,输出100HZ波形,参数分别为8000-1,100-1.输出200HZ波形,参数分别为:4000-1,100-1.打开stm32工程,在主函数打开pwm输出。选择TIM16、TIM17 的CH1.在stm32cubemx配置好参数,2.cubemx配置。

2023-01-19 19:47:00 770

原创 PCB封装创建(TF卡+晶体)

矩形-参数: 1mm 1.8mm。通过x,y偏移量移动,放置好焊盘。参数选择0.55mm。

2023-01-16 18:58:05 513 1

原创 PCB封装创建(IC类+USB)

通过计算y轴偏移量为:5.025mm,继续使用特殊粘贴,注意:x轴间距应该是-1.27 完成。焊盘尺寸、相邻焊盘间距、左右上下焊盘中心距、丝印大小、引脚标识、原点设置到中心。-选择表层焊盘-矩形-参数为0.5 1.5。快捷键:M - 选择通过x,y选择移动对象。利用向导完成的没有散热焊盘,可以自己添加。数量:4 间距:1.27。Ctrl+V+ Y+点击原点,复制成功。1.快捷键:E+F-设置参考-中心。参数:3mm 0.65mm。编辑-特殊粘贴-粘贴阵列。选择SOP-选择mm。

2023-01-15 18:18:13 2686

原创 STM32G431RBT6学习(2)

选择外部时钟,分频系数与重装载值,因为这两个系数都是从0开始,所以我们都减去1。按键按下后开始计数,因为每10ms扫描一次,所以大于700ms的视为长按按键。进入cubemx,将按键引脚配置为输入上拉模式。然后使能中断,完成配置,打开工程。定时器每10ms扫描一次。

2023-01-09 13:55:28 699 1

原创 蓝桥杯嵌入式学习(1)

实训平台上的 8 个 LED 指示灯 LD1~LD8 通过锁存器分别与 PC8~PC15 相连,低电平时 LED 亮,高电平时 LED 灭。锁存器的使能端与 PD2 相连,低电平时锁存数据(锁存器输出不随输入 变化),高电平时不锁存数据(锁存器输出随输入变化)。打开工程后,修改debug,如图。选择正确的芯片型号-Stm32G431RBT6,如图。在工程管理处可以设置工程名称与路径,注意不要有中文。3.将sys的debug改成串口,如图。在cube将引脚配置好。接下来进行一些配置。进入settings。

2023-01-08 19:50:52 111

原创 PCB封装创建(CHIP类)

AD封装创建(chip类)

2023-01-08 15:41:16 1260

原创 PCB原理图编译与封装检查

AD-工具-标注-原理图标注,进入到以下界面。当存在未编号的元器件时,可以先重置。在这里可以看到元器件是否有封装。编译-右击工程,选择第一个选项。可以在右侧对封装进行管理。编号完成后,进行编译。1.工具-封装管理器。

2023-01-07 19:04:43 1775

原创 PCB封装

(3) 丝 印 层 ( SilkscreenLayers): PCB 上有 2个丝印层,分别是 Top Overlayer ( 顶层丝印层)和 Bottom Overlayer(底层丝印层),一般为白色,主要用于放置印制信息,如元器件的轮廓和标注、各种注释字符等,方便 PCB 的元器件焊接和电路检查。(6)助焊层(Paste MaskLayer): 或称锡膏防护层、钢网层,针对表面贴( SMD ) 元器件的焊盘,该层用来制作钢网,而钢网上的孔对应电路板上的 SMD 器件的焊盘。

2022-12-11 19:54:10 2706 1

原创 PCB元件创建

目录一:创建元件基本流程1.1.创建一个原理图库1. 2.创建元件1.3绘制1.4放置管脚二: 元件创建2.1电容类元件创建2.2.电感类元件2.3电阻类元件2.4LED元件2.5按键元件 2.6芯片类元件创建2.6.1修改栅格颜色 2.6.2阵列粘贴2.7接插件座子元件——耳机与麦克风2.7.1耳机2.7.2麦克风 2.8晶体类元件新建文件 其中, 为绘制线条,绘制完成后,可以在右侧更改线条粗细与颜色。加号 “+” 一端是朝外的,用于和导线连接,可以在右侧更改管脚编号和长度。 设置好对象数量,水

2022-12-03 15:22:04 1425

原创 Altium Designer PCB学习笔记

(5)E+D 点选删除 (6)A+T—向上对齐,A+L向左对齐,A+L,A+B向下对齐。(8)线宽选择—shift +w 过孔选择:shift+v。(1)L—打开层设置开关选项(器件移动状态下,按下L换层)(3)J—跳转、,J+C 跳转到器件,J+N跳转到网络。(2)S—打开选择;S+L 线选 S+I框选。(7)shift+S单层显示与多层显示切换。(4)Q—英寸和毫米切换。

2022-10-21 11:50:16 251

原创 基于轮廓发现的几何形状识别

轮廓是指图像中图形或物体的外边缘线条,opencv提供的findContours()方法通过计算图像梯度来判断图像的边缘,然后将边缘的点封装成数组返回img:必须是8位单通道二值图像。mode :轮廓的检索模式cv.RETR_EXTERNAL :只检测外轮廓cv.RETR_LIST:检测所有轮廓,但不建立层次关系cv.RETR_CCOMP:检测所有轮廓,并建立两级层次关系cv.RETR_TREE:检测所有轮廓,并建立树状结构的层次关系method:cv.CHAIN_APPROX_NONEcv.CHAI

2022-06-03 17:50:24 732

原创 DMA学习笔记(1)

STM32 DMA 简介 DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接 控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备 开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。 STM32 最多有 2 个 DMA 控制器(DMA2 仅存在大容量产品中),DMA1 有 7 个通道。DMA2 有 5 个通道。每个通道专门用来管理来自于一个或多个外设对存储器访问的请求...

2022-05-22 23:40:45 684

原创 DAC实验·笔记(1)

目录1.DAC简介2.配置步骤1.DAC简介STM32 的 DAC 模块(数字/模拟转换模块)是 12 位数字输入,电压输出型的 DAC。DAC 可以配置为 8 位或 12 位模式,也可以与 DMA 控制器配合使用。DAC 工作在 12 位模式时, 数据可以设置成左对齐或右对齐。DAC 模块有 2 个输出通道,每个通道都有单独的转换器。 在双 DAC 模式下,2 个通道可以独立地进行转换,也可以同时进行转换并同步地更新 2 个 通道的输出。 ...

2022-05-15 18:59:11 582

原创 ADC实验正点原子

一:特点:12位(位数决定精度)逐次逼近型的模拟数字转换器。最多带3个ADC控制器(每个控制器有多个通道)最多支持18个通道,可最多测量16个外部和2个内部信号源。支持单次和连续转换模式转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。通道0到通道n的自动扫描模式自动校准采样间隔可以按通道编程规则通道和注入通道均有外部触发选项转换结果支持左对齐或右对齐方式存储在16位数据寄存器ADC转换时间:最大转换速率 1us。(最大转换速度为1MHz,在ADCCLK=14M,采样周期为1.

2022-05-01 22:26:44 598

原创 stm32ADC实验笔记(一)

1.简介STM32 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用, 也可以使用双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。 它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫 描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看 门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀...

2022-04-17 21:10:44 519

原创 正点原子待机唤醒实验学习笔记(一)

目录简介:配置步骤:软件设计简介:STM32 的低功耗模式有 3 种:1)睡眠模式(CM3 内核停止,外设仍然运行)2)停止模式(所有时钟都停止)3)待机模式(1.8V 内核电源关闭)在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要 2uA 左右的电 流。停机模式是次低功耗的,其典型的电流消耗在 20uA 左右。最后就是睡眠模式了。用户可以根据自己的需求来决定使用哪种低功耗模式。待机模式可实现 STM32 的最低功耗。该模式是在CM3 深睡眠模式

2022-04-08 22:33:37 788

原创 RTC实时时钟学习笔记(二)

一:软件设计//初始化 RTC 时钟,同时检测时钟是否工作正常//BKP->DR1 用于保存是否第一次配置的设置//返回 0:正常//其他:错误代码u8 RTC_Init(void){u8 temp=0;RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //使能 PWR 和 BKP 外设时钟 PWR_BackupAccessCmd(ENABLE); //使能后备寄存器访问//检查是

2022-04-07 14:16:08 2071

原创 RTC实时时钟实验学习笔记一

目录RTC时钟简介RTC寄存器介绍配置步骤RTC时钟简介STM32 的实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC 模块和时钟配置系统(RCC_BDCR 寄存器)是在后备区域,即在系统复位或从待机模式 唤醒后 RTC 的设置和时间维持不变。但是在系统复位后,会自动禁止访问后备寄存器和 RTC, 以防止对后备区域(BKP)的意外写操作。所以在要

2022-04-06 22:56:40 1579

原创 正点原子USMART调试学习笔记(二)

软件设计keilkill.bat,是一个批处理文件,双击,可以删除 MDK 编译过程中产生的中间文件, 从而大大减少整个工程所占用的空间,节省硬盘空间,方便传输。由于 USMART 默认提供了 STM32 的 TIM4 中断初始化设置代码,我们只需要在 usmart.h 里面设置 USMART_ENTIMX_SCAN 为 1,即可完成 TIM4 的设置,通过 TIM4 的中断服务函 数,调用 usmart_dev.scan()(就是 usmart_scan 函数),实现 usmart...

2022-04-05 17:21:19 1995

原创 opencv学习笔记

目录一:直方图计算API代码:二:直方图比较卡方计算:十字计算:巴士距离计算API代码:一:直方图计算直方图最常见的几个属性:- dims 表示维度,对灰度图像来说只有一个通道值dims=1- bins 表示在维度中子区域大小划分,bins=256,划分为256个级别- range 表示值得范围,灰度值范围为[0~255]之间APIsplit(// 把多通道图像分为多个单通道图像const Mat &src, //输...

2022-04-04 21:14:52 2784

原创 正点原子USMART 调试组件实验学习笔记(一)

1.简介USMART 是由 ALIENTEK 开发的一个灵巧的串口调试互交组件,通过它你可以通过串口 助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字(10/16 进制)、字符串、函数入口地址等作为参数),单个函数最多支持 10 个输入参数,并支持函数返 回值显示USMART 的特点如下:1, 可以调用绝大部分用户直接编写的函数。2, 资源占用极少(最少情况:FLASH:4K;SRAM:72B)。3, 支持参数类型多(数字(包含 10/16 进制)、字符串

2022-04-04 19:05:13 1062

原创 正点原子STM32——LCD学习笔记(2)

一:代码设计lcd.h#include "stdlib.h" //LCD重要参数集typedef struct { u16 width; //LCD 宽度 u16 height; //LCD 高度 u16 id; //LCD ID u8 dir; //横屏还是竖屏控制:0,竖屏;1,横屏。 u16 wramcmd; //开始写gram指令 u16 setxcmd; //设置x坐标指令 u16 setycmd; //设

2022-04-01 14:15:20 3596

原创 OpenCv

一:像素重映射简单点说就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去,形成一张新的图像。g(x,y)是重映射之后的图像,h(x,y)是功能函数,f是源图像APIRemap(InputArray src,// 输入图像OutputArray dst,// 输出图像InputArray map1,// x 映射表 CV_32FC1/CV_32FC2InputArray map2,// y 映射表int interpolation,// 选择的插值.

2022-03-31 14:45:26 2528

原创 OpenCv

目录1.Canny边缘检测步骤:(2)非最大信号抑制(3)高低阈值输出二值图像代码1.Canny边缘检测步骤:1.高斯模糊 - GaussianBlur2.灰度转换 - cvtColor3.计算梯度 – Sobel/Scharr4.非最大信号抑制5.高低阈值输出二值图像 (2)非最大信号抑制(3)高低阈值输出二值图像APICanny(InputArray src, // 8-bit的输入图像OutputArray ed...

2022-03-30 22:09:58 82

原创 OpenCv

目录一:阈值阈值类型:API代码效果:​二:自定义线性滤波1.定义2.常见算子Robert算子Sobel算子拉普拉斯算子3.自定义卷积模糊代码效果:​三:处理边缘API:四:Sobel算子水平梯度垂直梯度Scharr函数API:代码:效果五:Laplance算子过程API代码效果:一:阈值阈值:把图像分割的标尺阈值类型:API...

2022-03-29 16:08:41 4057

原创 正点原子LCD显示实验学习笔记(一)

目录1.简介2.配置步骤3.软件设计1.简介该模块特点:(1)2.4’/2.8’/3.5’/4.3’/7’ 5 种大小的屏幕可选。(2)320×240 的分辨率(3.5’分辨率为:320*480,4.3’和 7’分辨率为:800*480)。(3)16 位真彩显示。(4)自带触摸屏,可以用来作为控制输入。模块原理图:LCD接口图:如图,ALIENTEK TFTLCD 模块采用 16 位的并方式与外部连接,之所以 不采用 8 位的方式,是因为彩..

2022-03-29 14:20:12 4966 1

原创 正点原子OLED显示实验

OLED显示实验

2022-03-26 09:08:28 3443 1

原创 输入捕获实验

目录1.输入捕获简介原理:2.配置步骤代码:timer.cmain.c1.输入捕获简介输入捕获模式可以用来测量脉冲宽度或者测量频率原理:假定定时器工作在向上计数模式, 图中 t1~t2 时间,就是我们需要测量的高电平时间。测量方法如下:首先设置定时器通道 x 为 上升沿捕获,t1 时刻,就会捕获到当前的CNT 值,然后立即清零 CNT,并设置通道 x 为下降沿捕获,这样到 t2 时刻,又会发生捕获事件,得到此时的 CNT 值,记为 CCRx2。...

2022-03-25 15:55:45 681 2

原创 1.PWM输出实验

1.PWM输出实验2.相关API

2022-03-24 16:14:13 1235 1

原创 OpenCV

目录模糊图像一1.模糊原理均值滤波:高斯滤波:相关API均值滤波高斯滤波代码模糊图像二中值滤波:双边滤波:API:代码:模糊图像一1.模糊原理Smooth/Blur 是图像处理中最简单和常用的操作之一使用该操作的原因之一就为了给图像预处理时候减低噪声使用Smooth/Blur操作其背后是数学的卷积计算通常这些卷积算子计算都是线性操作,所以又叫线性滤波均值滤波:高斯滤波:相关API均值滤波...

2022-03-22 15:20:08 52 1

原创 OpenCV

1.理论——线性混合操作2.相关API

2022-03-22 15:05:14 47

原创 OpenCV图像操作

目录1.读写图像2.读写像素读一个GRAY像素点的像素值(CV_8UC1)读一个RGB像素点的像素值3.修改像素灰度图像RGB三通道图像空白图像赋值ROI选择4.Vec3b与Vec3f代码1.读写图像imread可以指定加载为灰度或者RGB图像Imwrite可以保存图像文件,类型由扩展名决定2.读写像素读一个GRAY像素点的像素值(CV_8UC1)Scalar intensity = img.at<uchar>(y, x);

2022-03-20 15:20:15 211

原创 Mat对象

1.Mat对象与lpllmage对象Mat对象是图像数据结构,自动分配内存,不存在内存泄漏问题,是面向对象的数据结构,分了两个部分,头部与数据部分lpllmage需要开发者自己分配与管理内存,对大的程序使用它容易导致内存泄问题2、Mat对象构造函数与常用方法常用方法:void copyTo(Mat mat)void convertTo(Mat dst, int type)Mat clone()int channels()int depth()bool emp.

2022-03-20 10:32:28 235

原创 OpenCV

目录1.获取图像像素指针2.像素范围处理3.filter2D功能矩阵的掩膜操作1.获取图像像素指针CV_Assert(myimage.depth()==CV_8U);Mat.ptr<uchar>(int i=0)获取像素矩阵的指针,索引i表示第几行,从0开始计数获得当前行指针 const uchar* current=myimage.ptr<uchar>(row );获取当前像素点P(row,rol)的像素值P(row,col)=current

2022-03-20 08:16:15 2320

原创 stm32定时器实验

1.定时器简介stm32定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波 形(输出比较和 PWM)等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形 周期可以在几个微秒到几个毫秒间调整。STM3 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能包括:1)16 位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。2)16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 1~ 65535 之

2022-03-19 22:48:37 2603

原创 opencv

加载,修改,保存图像1.加载图像(用cv::imread)imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图文件名称第二个参数,表示加载的图像是什么类型,支持常见的三个参数值IMREAD_UNCHANGED (<0) 表示加载原图,不做任何改变IMREAD_GRAYSCALE ( 0)表示把原图作为灰度图像加载进来IMREAD_COLOR (>0) 表示把原图作为RGB图像加载进来注意:OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载

2022-03-19 21:57:43 107

原创 基于arduino的舵机云台

#include <MPU6050_tockn.h>#include<Servo.h>Servo duo1;float y,z,y0=0;MPU6050 mpu6050(Wire);void setup() { duo1.attach(9); Serial.begin(9600); Wire.begin(); mpu6050.begin(); mpu6050.calcGyroOffsets(true); int pid1(y,y0); .

2022-03-17 14:44:33 1873 1

空空如也

空空如也

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

TA关注的人

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