自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Q大帅

www.qdashuai.top

  • 博客(52)
  • 收藏
  • 关注

原创 【STM32】GuiLite基于HAL库的移植

GuiLite是一个开源的Gui框架,只依赖于一个头文件(GuiLite.h),不需要很复杂的文件管理,代码量平易近人,GuiLite由5K行C++代码编写,单片机上也能流畅运行其最低的硬件运行要求:且GuiLite有很强的跨平台性除此之外,GuiLite 提供一系列辅助开发工具选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz将分配的堆空间增大工程管理依旧是这几个选项,然后GENERATE CODE,STM32CubeMX部分完成打

2022-06-03 23:56:47 1795 2

原创 【STM32】HAL库在4针脚0.96寸OLED屏上的移植---硬件IIC(一)

IIC(Inter-Integrated Circuit)是一个多主从的串行总线,又叫I2C,是由飞利浦公司发明的通讯总线,属于半双工同步传输类型总线。IIC总线是非常常见的数据总线,仅仅使用两条线就能完成多机通讯,一条SCL时钟线,另外一条双向数据线SDA硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活选择......

2022-06-01 20:55:08 7465 9

原创 【Hexo】GitHub+Typora写博客+图片上传

前言使用了Hexo+GitHub搭建了自己的个人网站,不管搭的多好看,没有内容终究是没有意义的,不要忘记搭网站初心,既然谈到写博客,那么肯定免不了图文笔记,Typora是我非常喜欢的Markdown文本编辑器,界面简洁干净,使用markdown语法,上手简单目录一、新建图片文件夹二、Typora设置三、实例演示一、新建图片文件夹在source下新建imgs的文件夹,用来储存照片二、Typora设置打开Typora——>偏好设置按照如图配置,如果你用的Hexo写博客,复制这个即可../

2022-05-07 14:59:27 2305 5

原创 【Hexo】GitHub_Page绑定阿里云域名

前言对于使用Github_Pages的小伙伴来说,Github自带的xxx.github.io网址,很容易被挡掉,就像这样▼我猜大概率是因为这种网址没有证书、没备案之类的,导致浏览器检测不安全,用正规的浏览器很容易被挡掉那么看来还是很有必要入手一个域名来访问自己的网址网页预览:Qの小站目录一、阿里云1.1 域名注册1.2 域名解析二、Github2.1 Pages设置2.2 新建CNAME文件效果一、阿里云第一步当然是注册阿里云了,相信这个大家都会的,直接跳过了~1.1 域名注册在这

2022-05-06 13:12:01 633

原创 【电路】电容(四)——旁路电容

目录一、旁路电容二、实例电路讲解2.1 信号的输入2.2 信号的放大2.3 电阻对放大效率的影响一、旁路电容旁路电容:是可将混有高频电流和低频电流的交流电中的高频成分旁路滤掉的电容。 对于同一个电路来说,旁路(bypass)电容是把输入信号中的高频噪声作为滤除对象,把前级携带的高频杂波滤除,而去耦(decoupling,也称退耦)电容是把输出信号的干扰作为滤除对象。这是百度上对于旁路电容的介绍,说实话介绍的功能有点雷同于滤波电容,但我想了想,应该不止于这一个功能,上网查了查资料,今天来重新定义一下旁

2022-05-03 18:49:40 7615 4

原创 【电路】电容(三)——耦合、退耦电容

一、耦合电容什么是耦合?两个或两个以上的电路构成一个网络时,若其中某一电路中电流或电压发生变化,能影响到其他电路也发生类似的变化,这种网络叫做耦合电路。耦合的作用就是把某一电路的能量输送(或转换)到其他的电路中去1. 电源——导线——电阻电源通过导线,将能量转换到电阻上去了,通过导线完成了耦合2. 电源——电阻——LED灯电源通过电阻将能量转换到LED灯上,即通过电阻完成了耦合看完这两个例子,对耦合大概有了个基本的概念,常见的会有直接耦合、间接耦合、电容耦合、电阻耦合、电感耦合等等…耦合

2022-04-18 22:44:00 5924 2

原创 【STM32】——迷你示波器

前言目前网上已经有挺多开源STM32示波器的项目,整合了一下网上的资源,自制了一款成本极低的基于STM32F103C8T6(某宝二十几RMB)示波器,成本控制在40RMB以内,当然,用正版C8T6效果更好,盗版的效果会差一些,不过本项目更多是DIY学习的成分多一些,与正规示波器有较大差距,请当成一款娱乐电子器件器件:器材数量参数电位器15KOLED屏10.96寸7针脚贴片按键4STM32F103C8T6核心板10603电容40.1uf

2022-04-15 22:13:37 2060 2

原创 【电路】电容(二)——滤波电容

滤波电容滤波电容在电路中随处可见,是指安装在整流电路两端用以降低交流脉动波纹系数提升高效平滑直流输出的一种储能器件。由于滤波电路要求储能电容有较大电容量。所以,绝大多数滤波电路使用电解电容。电解电容由于其使用电解质作为电极(负极)而得名。来看下图的一个电路由3部分构成,交流输入部分 + 整流部分 + 滤波部分1. 交流部分交流部分就是变压器将220V的交流电转换成需要的电压,本文假设交流输入为15V2. 整流部分下图为15V交流电的波形图画的很标准这里的15V是峰值,有效值 = 15

2022-04-06 12:45:11 8062 3

原创 【电路】电容(一)——浅析大小电容的高低频滤波、并联问题

思考容抗计算公式 :理论上,对于高频信号(ω↑),明显电容越大(c↑),容抗更小(Xc↓),这样高频信号才更容易通过?电容等效效应理想的电容由C构成,当然生活中不存在绝对理想的电容,所以实际电容由于存在电感效应,通常需要等效成 电容 + 电感(ESL效应)+ 电阻(ESR效应)的串联形式电阻(ESR效应):常见电感(ESL效应):多见于高频由于讨论的高频情况,所以实际电容会等效为▼电容实际阻抗为:当ωl = 1/ωc ,也就是虚部为0时,阻抗最小所以当时,电容大的实际阻抗反

2022-04-03 22:23:35 10639 7

原创 【Altium Designer】PCB如何生成Gerber文件

1.什么是Gerber文件?Gerber文件是一款计算机软件,是线路板行业软件描述线路板(线路层、阻焊层、字符层等)图像及钻、铣数据的文档格式集合,是线路板行业图像转换的标准格式。PCB文件是指工程师设计出来的文件Gerber文件是通过PCB文件转出来的一个文件,是给PCB生产厂商使用的当我们设计好PCB的时候,需要向厂家提供PCB文件进行打板制作,但有些厂家要求提供Gerber文件进行打印正规性: 其实正规的流程是提供Gerber文件,因为这是一种国际通用文件,并且有些打板机器只能识别Ger

2022-03-28 13:09:46 12970 1

原创 【STM32】HAL库在7针脚0.96寸OLED屏上的移植---软件SPI(二)

前期准备:STM32CubeMXSTM32C8T6核心板IDE Keil(MDK-ARM)杜邦线×70.96寸OLED屏(7针脚)SPI背景和接线1.什么是SPISPI英文缩写“Serial Peripheral Interface”,是一种串行外设接口,是一种四线制的同步串行通信接口,用来连接MCU、传感器、存储设备SPI是全双工且SPI没有定义速度限制,通常能达到甚至超过10 Mbps,这也是为什么SPI被广泛使用的原因而SPI分为软件SPI和硬件SPI,因为SPI是一种需要时序

2022-03-20 17:55:49 9634 11

原创 【STM32】HAL库在7针脚0.96寸OLED屏上的移植---硬件SPI(一)

前期准备:STM32CubeMXSTM32C8T6核心板IDE Keil(MDK-ARM)杜邦线×70.96寸OLED屏(7针脚)SPI背景和接线一、什么是硬件SPISPI英文缩写“Serial Peripheral Interface”,是一种串行外设接口,是一种四线制的同步串行通信接口,用来连接MCU、传感器、存储设备SPI是全双工且SPI没有定义速度限制,通常能达到甚至超过10 Mbps,这也是为什么SPI被广泛使用的原因而SPI分为软件SPI和硬件SPI,因为SPI是一种需要

2022-03-19 15:59:44 9691 15

原创 3D旋转相册

效果如图:一、图片准备12张.jpg文件的照片,命名为1~12.jpg图片尽量不要特别长或者特别宽,比例不协调有时候显示不出来二、代码index.css文件:html{ background: #000; height: 100%; }/*最外层容器样式*/.wrap{ position: relative; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 200px; hei

2022-02-23 21:03:32 1338 2

原创 【Hexo】Next主题添加Valine 评论系统

一、LeanCloud进入LeanCloud▶ 控制台▶ 创建应用▶ 开发版,名称随意▶ 数据存储 ▶ 结构化数据创建两个 Class,分别是 Comment 和 Counter,权限设置为所有人。▶ 设置 ▶ 应用凭证 复制AppID、AppKey二、Valine CDN 链接然后在 https://www.jsdelivr.com/package/npm/valine 中复制最新的 Valine 的 CDN 链接因为是外网,不一定能访问得上,在此将最新链接贴上,不定

2022-02-23 18:17:44 560 4

原创 【Hexo】Next主题添加全局播放翻页不间断的网易云音乐

前言网页预览:Qxiaofei69.github.io如果有想入手Hexo博客但没有任何思路,看网上资料一头雾水,推荐B站这个up主的入门教程传送门一、网易云外链打开网易云音乐,将喜欢的歌都加入歌单,然后点击生成外链调整插件的大小,这里建议第二个就可以了,不大不小,然后复制HTML代码二、插入代码打开/themes/next/layout/_macro/sidebar.swig文件在下图位置插入代码刚复制的代码鉴于每个人侧边栏位置不同,具体效果自行调整三、修改属性在Next主题

2022-02-22 17:40:48 1587 5

转载 【信号】“说人话”之——傅里叶变换、拉普拉斯变换、Z变换有什么联系

基础科普首先既然要讲信号,那就离不开正弦波,高中学过sinθ、cosθ函数,分别称他们为正弦函数和余弦函数。But,实际应用中,不管是sinθ还是cosθ都统称为正弦函数以sinθ为例: sinθ = y / r 当这个点绕这个圆逆时针转动,sinθ的值如下图所变化当我们引入动态的概念后,正弦值不再是一个单纯的值,而是引申出了波的概念这个点围绕的圆有多大——>波幅这个点旋转的速度有多快——>角速度——>频率这个点最初的位置在哪里——>相位数学表达式——&g

2022-01-13 22:22:59 1772 1

原创 【C语言】字符串输入的三种方式

一、gets()该函数原型为:# include <stdio.h>char *gets(char *str);gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间# include <stdio.h>int main(void){ char a[256] = {0}; gets(a); printf("%s",a); return 0;}运行结果:二、getchar()# include &lt

2021-12-25 14:23:13 160984 28

原创 【嵌入式】OpenMV与单片机串口通信交互

器件:OpenMVMM32单片机一、采用串口通信串口通信想必大家都知道,这里就不多赘述了,如果有不了解的可以看我的往期文章【STM32】HAL库 CubeMX例程三—串口中断通信(2)(附工程源码)1.OpenMV首先找到OpenMV的串口(图:星瞳科技)P4(Tx):发送端P5(Rx):接收端接着打开OpenMV IDE,...

2021-11-13 21:38:19 8133 8

原创 【电路】通俗易懂讲解上、下拉电阻为何能拉高、低电平

一、什么是上下拉电阻?上拉、下拉电阻统一称为拉电阻,作用是将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉)这里有人可能会疑惑?什么叫状态不确定的信号?在数字电路中,通常有三种状态:0(低电平)、1(高电平)、浮空(不确定、随机)举个例子:这是一个经典的按键电路,每一个按键都接了一个上拉电阻,为什么?因为初始上电时,IO口电平是随机的,IO口可能是高电平,也可能是低电平,这样就会产生干扰导致检测误差,所以我们接上一个上拉电阻,初始态即可稳定成高电平二、如何辨别拉电

2021-09-23 18:02:05 26430 9

原创 【算法】ADC滤波的10种经典算法

1、限幅滤波法(程序判断滤波法)根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值优点:能有效克服因偶然因素引起的脉冲干扰缺点无法抑制那种周期性的干扰平滑度差import matplotlib.pyplot as plt#限幅滤波法(程序判断滤波法)test_list = [50,52,53,51,53,63,59,55,52,50]

2021-09-09 16:18:30 9841 5

原创 【C语言】基本常识及知识点

C语言常识# 标识符 告诉编译器 # 后边的进行替换include 包含头文件的路径< > 表示 头文件直接去 C 库查找, "" 表示 先在当前路径下找头文件,如果没有再去 C 库找stdio.h 是标准输入输出的头文件(C基础函数环节 带领大家自己封装头文件) C语言中头文件不一定必须是 .h 后缀,但是书写传统 都是以 .h 为后缀作为头文件此文件中声明了标准 C 库的标准输入输出函数 如 :printf scanf gets puts 这些函数的逻辑被编译成标

2021-09-07 22:05:02 4255 6

原创 【C语言】一文彻底理解指针,通俗易懂

前言众所周知,C语言是较为底层的语言,许多操作是直接对内存进行操作,既然谈到C语言,那就不得不说道C语言的独特之处——指针针对int *p 进行讲解,当你能理解这3个后,指针就明白了一、 变量存储过程及原理1.赋值结果是9我们需要知道对于int a = 9;这句话,计算机做了什么?定义aint a,在内存中开辟了一个int大小的空间,也就是4个字节(32位),然后将这个空间分配给了a,这就是a的空间了给a赋值a = 9,在a的空间里存放9这个数,然后将十进制的9转换成二进制的9

2021-08-26 14:44:38 5560 5

原创 免费的html模板开源网站

分享一个免费的html模板开源网站仅需注册即可下载html5模板网

2021-08-23 16:01:47 10633 2

原创 【STM32】HAL库——串口DMA通信(三)

前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)关于DMA1. 什么是DMA?DMA(Direct Memory Access,直接存储器访问) 提供在外设与存储器、存储器和存储器、外设与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来说就无法使用。这里的外设指的是spi、usart、iic、adc等基于APB1 、APB2或AHB时钟的外设,而这里的存储器包括自身的闪存(fl

2021-08-21 20:37:17 18662 15

原创 【STM32】HAL库——按键原理及消抖

前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)什么是按键消抖?按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖按键工作原理这是最基本的按键电路,以KEY1为例:3.3V流经10k电阻(限流电阻),经过按键再流入地,但是按键常态是松开的,也就是说这条路常态

2021-08-19 17:16:21 8440 1

原创 【算法】通俗易懂的PID算法

初识PIDPID算法是连续系统中技术最为成熟、应用最为广泛的一种控制算法。该控制算法出现于20世纪30至40年代,PID 控制器以各种形式使用超过了 1 世纪,广泛应用在机械设备、气动设备 和电子设备。在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法PID简介Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法U(t):控制器的输出量kp:比例系数T

2021-08-02 23:39:31 17818 2

原创 【Altium Designer】常用快捷键大全

TE泪滴化G切换最小栅格单位D+R设置布线规则,Clearance(最小安全线间距)常用Shift+鼠标悬停鼠标悬停的那一路全部微亮Ctrl+鼠标左键点击的那一路全部高亮(一直高亮),Ctrl+鼠标左键点击空白处退出高亮2PCB切换成2D模式3PCB切换成3D模式Shift+鼠标左键多选元器件、线路Ctrl+Shift+T、B、R、L将选中的元器件、线路等分别上、下、右、左对齐M+I将选中的元器件翻转E+M+O将选中的元器件旋转你想要的角度P+G铺铜D+S+.

2021-07-31 22:37:30 6446

原创 【Altium Designer】PCB的泪滴化

1. 什么是泪滴?无泪滴:泪滴化:发现焊盘的连线被“润色”了一下,看起来更加丝滑了2. 为什么要泪滴化处理?添加泪滴可以让电路在PCB板上的连接更加稳固,可靠性高,这样做出来的系统才会更稳定避免电路板受到巨大外力的冲撞时,导线与焊盘或者导线与导孔的接触点断开,也可使PCB电路板显得更加美观对于焊接时,可以保护焊盘,避免多次焊接是焊盘的脱落,生产时可以避免蚀刻不均匀、过孔偏位出现的裂缝等,使信号传输时平滑阻抗,减少阻抗的急剧跳变,避免高频信号传输时由于线宽突然变小而造成反射,可

2021-07-31 22:14:05 7159

原创 【Altium Designer】新建工程

Altium Designer的文件体系Altium Designer的一个工程,包含了4个重要文件,其他文件可有可无,这4个文件是非常重要的,由这4个文件,构成了最基本的Altium Designer工程SchDoc(原理图)SchLib(原理图库)PcbDoc(PCB)PcbLib(PCB库)原理图原理图,顾名思义就是表示电路板上各器件之间连接原理的图表由原理图延伸下去会涉及到PCB layout,也就是PCB布线,当然这种布线是基于原理图来做成的,简单来说就是电路图图为原理图(

2021-07-30 17:54:01 5040

原创 【STM32】HAL库 ——DAC

前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2. 配置DAC什么是DAC?数模转换器,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器简单来讲,就是将键盘敲上去的一堆数字,变成看不见摸不

2021-07-26 16:40:43 9321 2

原创 【STM32】HAL库——ADC

前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2. 配置ADC什么是ADC?ADC即模拟数字转换器(Analog-to-digital converter)是用于将模拟形式的连续信号转换为数字形式的离散信号的一类设备。一个模拟数字转换器可以提供信号用于测量。与之相对的设备成为数字模拟转换

2021-07-25 23:02:55 13808 5

原创 【STM32】芯片自锁、No Cortex-M SW Device Found/HardFault_Handler无法下载等问题的解决办法

当STM32无法下载代码后,错误一般是JLink info:DLL: V4.86b, compiled Jun 27 2014 20:11:00Firmware: J-Link V9 compiled Dec 13 2019 11:14:50Hardware: V9.40S/N : 59406895Feature(s) : RDI, GDB, FlashDL, FlashBP, JFlashJLink Info: STM32Fxxxx: Cannot attach to CPU. Tryi

2021-07-24 20:39:35 8512 2

原创 【STM32】HAL库——定时器PWM输出

前期准备:STM32CubeMXSTM32RCT6核心板IDE Keil(MDK-ARM)

2021-07-24 19:08:00 27020 11

原创 【STM32】HAL库——串口中断通信(二)

由于调试过程中发现Proteus 8有些许bug,串口中断采用STM32F103RCT6开发板进行讲解前期准备:STM32CubeMXSTM32F103RCT6开发板IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2.配置USART选择:USART1串口1Baud Rate(波特率):115200 Bits/sWork Length(

2021-07-23 13:46:48 32780 30

原创 【STM32】HAL库——定时器溢出中断

前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟

2021-07-22 23:09:12 25738 8

原创 【Python】胡渊鸣的99行代码——冰雪奇缘

14万个水,果冻,和雪“粒子” QQ录屏20210710185902 import taichi as tiimport numpy as npti.init(arch=ti.gpu) # Try to run on GPUquality = 1 # Use a larger value for higher-res simulationsn_particles, n_grid

2021-07-10 19:05:20 2584

原创 【STM32】HAL库——串口通信(一)

前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)Configure Virtual Serial Port Driver(虚拟串口)虚拟串口部分虚拟串口下载链接点击Add pair在Virtual ports 下生成COM1和COM2即成功STM32CubeMX部分1. 配置时钟依旧是选择STM32F103C4系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2. 配置USART我们选择USAR

2021-05-09 16:29:40 7377 1

原创 一行代码如何自定义修改网页内容

就是这一行代码,看好了document.body.contentEditable=‘true’;打开浏览器,按F12进入开发者选项选中console,输入这行代码然后就随便修改

2021-05-01 18:52:10 1202

原创 【STM32】HAL库——按键外部中断

前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)STM32CubeMX部分1. 配置时钟依旧是选择STM32F103C4系列芯片,选择高速外部时钟,配置晶振。将HCLK设置为最大频率72MHz2. 选择IO口PA1、PA2选择GPIO_Output模式,用作点灯PA3、PA4选择GPIO_EXTI模式,用作外部中断3. 引脚模式设置GPIO:level:高电平mode:推挽输出是否上下拉:不上下拉引脚速度:中关于Outp

2021-04-30 17:50:59 14447 9

原创 【STM32】HAL库——点亮LED灯

前期准备:STM32CubeMXProteus 8IDE Keil(MDK-ARM)STM32CubeMX部分1. 新建工程直接搜索芯片型号,出现了就选中开始工程。也可以根据下方的资源来确定芯片型号2. 选择IO口资源选择模块选择MCU的各种资源和外设配置模块可以选择具体资源的功能。例如我们选择了GPIO,可以设置初始化高电平/低电平、最大输出速度、IO口上拉/下拉等等…芯片IO口选择模块Pinout view(引脚模式)芯片IO口的图形可视化功能,能一览芯片所

2021-04-26 20:06:21 8550 3

空空如也

空空如也

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

TA关注的人

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