- 博客(36)
- 资源 (122)
- 问答 (2)
- 收藏
- 关注
原创 基于时延法的麦克风阵列声源定位分析
麦克风阵列: 麦克风阵列是由一定数目的声学传感器(麦克风)按照一定规则排列的多麦克风系统,而基于麦克风阵列的声源定位是指用麦克风拾取声音信号,通过对麦克风阵列的各路输出信号进行分析和处理,得到一个或者多个声源的位置信息。麦克风阵列系统的声源定位技术研究意义在于: 输入的信息只有两个方向难以确定声源的位置,人类的听觉系统主要取决于头和外耳气压差声波实现声源定位。假使没有这个压力差,只能定位在平面上声源的位置,但就无法知道声音是从前面,或从后面传来的。因此,由人的听觉系统,科技研发人员得到了灵感,使用多个麦克风
2022-07-11 19:33:37 24262 23
原创 作品分享:基于STM32的温度报警器含源码、原理图、PCB文件、作品报告
文章目录一.前言二.材料准备三.硬件部分四.软件部分五.资料链接一.前言二.材料准备三.硬件部分四.软件部分五.资料链接
2021-01-11 22:16:47 29831 141
原创 STM32实现IAP串口升级含源码(HAL库)
IAP,即In-Application Programming,指的是在单片机中写入用户自己的Bootloader程序,使用微控制器支持的任一种通信接口(如I/O口、USB、CAN、UART、I2C、SPI等)下载新程序到存储器中。简单来说,就是当开发者代码出现Bug,或者需要添加新功能时,可以利用事先预留的通讯接口,对代码进行升级和维护。
2024-11-01 22:35:25 1072
原创 STM32与QT实现串口传输结构体(含源码)
在日常开发过程中,我们时常需要用到串口来传输数据,无论是MCU与MCU通信,还是上位机与下位机之间的通信,串口传输数据都非常普遍。对于传输方式,可以直接分别将单个数据类型进行拆分后发送;也可以将数据封装成结构体后再进行拆分发送。
2024-10-11 16:32:03 1290
原创 STM32芯片系列与产品后缀
STM32系列由STMicroelectronics(意法半导体)开发和生产,并凭借其灵活的设计、丰富的外设和强大的生态系统,成为嵌入式开发中的一大热门选择。STM32单片机是一系列基于ARM Cortex-M内核的32位微控制器,广泛应用于嵌入式系统中。
2024-07-07 17:28:56 478
原创 STM32实现看门狗(HAL库)
单片机在日常工作中常常会因为用户配置代码出现BUG,而导致芯片无法正常工作;或者会受到来自外界电磁场的干扰,造成程序跑飞 ,或陷入死循环。如果无法系统复位,那么整个系统都会卡死,这对产品的使用是灾难性的后果。出于对单片机运行状态进行实时监测的考虑,产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称看门狗(WatchDog) 。
2024-07-07 16:43:17 2541
原创 STM32实现硬件IIC通信(HAL库)
最近正在DIY一款智能电池,需要使用STM32F030F4P6和TI的电池管理芯片BQ40Z50进行SMBUS通信。SMBUS本质上就是IIC通信,项目用到STM32CubeMX+HAL库,使用硬件IIC完成MCU对芯片的寄存器数据的读取和改写。整篇博客主要是梳理一下IIC的通信流程,并记录一下项目实现的过程,如有错的地方,欢迎各位读者批评指正。
2024-07-04 14:58:03 2867 2
原创 TI 电量计介绍与芯片选型指南
锂电池具有很高的能量密度,因此在便携式设备与储能设备中得到了广泛应用。为了在安全的条件下尽可能充分利用锂电池储电能力,尤其是在部分应用中,比如笔记本电脑,手机,电动自行车等,由于涉及到数据丢失或安全隐患,系统往往需要较准确地了解锂电池的电量数据。但由于锂电池放电特性的非线性,会受到温度、放电电流大小、电池的老化程度等影响,要准确预测锂电池的剩余电量,具有较高的难度。
2023-07-27 13:19:51 7497
原创 宇树A1电池拆解分享
今天的主角是宇树的A1电池。该电池主要用在宇树的A1机器狗上,A1主打的是运动性能,最大持续奔跑速度可以达到3.3m/s (11.88km/h),是目前国内速度最快、最稳定的中小型四足机器人。之所以能跑得这么快,归功于A1的高级的动态平衡算法、高性能的扭矩电机以及强大动力系统。手上刚好有一块A1电池,今天带大家拆解一下电池,了解电池的结构设计以及电路方案。
2023-04-01 13:32:58 2434 1
原创 大疆Mini1充电管家拆解分享
御Mini充电管家外观简洁优雅,最多可容纳三块电池进行充电,在一块电池充满电后会自动进行下一块电池的充电,支持电池的电量显示。除此之外,还可以把插上电池的充电管家当成充电宝使用,支持QC快充协议的USB适配器,最大可以5V 2A的输出,属实是非常的人性化。这几天在闲鱼低价掏来一块充电管家进行拆解,拆完也和广大网友一块分享。
2023-03-30 22:37:54 4211 1
原创 STM32实现PWM输出与PWM输入捕获(HAL库)
前段时间,由于项目原因需要驱动四线风扇(电脑CPU用的散热风扇大多就是四线风扇),打算做一块风扇的驱动板。风扇通过输入PWM波来控制电机输出,而风扇内置了霍尔传感器,可以输出PWM信号,通过捕获波形信号可以得到信号的占空比、周期、频率等信息,换算后可以得到风扇的转速,实现对风扇的闭环控制。
2022-09-22 19:04:06 11860 9
原创 基于全志H3的QT5.12.9移植教程
大学玩了很久的STM32单片机,STM32的MCU大多数是基于Arm Cortex-M3/M4/M7架构的芯片,具有极强的实时处理能力,但MCU相比于MPU而言还是有局限性。相比于MCU,MPU具有更高的处理和运算能力,一般需要运行较大型的操作系统(如:Linux、Andriod)来实现复杂的任务处理,这就决定了MPU应该具备更高的主频和更强大的算力,主要代表:Arm Cortex-A架构的处理器。.....................
2022-06-24 02:14:48 5820 2
原创 STM32通过DMA进行ADC采集(HAL库)
ADC是指模数转化,即将模拟信号转化为数字信号。 世界的信号本质都是模拟信号,如速度、温度、声音,在本质上都是模拟的。但是微控制器和微处理器上运行的电子设备不能直接读取或者解释这些模拟值,因为它们只在0和1上运行。所以我们需要将这些模拟值转换成0和1,以便微控制器和微处理器能够理解它们。这就是我们所说的模拟信号转化为数字信号。与ADC相对应的是DAC,即将数字信号转化为模拟信号。开发环境:Keil 、 CubeMX软件版本:5.31 、6.2.1使用芯片:STM32F103C8T6开发语言:
2022-06-19 20:43:23 10163 2
原创 自制ST-Link V2.1教程(SWD调试+虚拟串口+虚拟U盘)
文章目录一. 关于ST-LINK二. 自制ST-LINK硬件三. 自制ST-LINK固件烧录四. 上电测试一. 关于ST-LINKST-LINK是ST公司开发的一款专门用于STM8、STM32单片机调试的硬件设备,截至到现在官方已经推出三代产品:V1、V2、V3 。二. 自制ST-LINK硬件三. 自制ST-LINK固件烧录四. 上电测试............
2022-04-15 01:15:55 36257 51
原创 CLion使用PlatformIO搭建ESP32开发环境(window)
文章目录一. 下载CLion并破解二. 搭建PlatformIO开发环境1. 安装python环境2. 安装MinGW环境2. 安装PlatformIO开发环境3. 下载PlatformIO插件三. 搭建Ardiuino框架的ESP32开发环境1. 导入第三方库
2022-03-16 16:25:45 7135 3
原创 树莓派搭建NextCloudPi个人网盘
NextCloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。NextCloud 跨平台支持 Windows、Mac、Android、iOS、Linux等平台,而且还提供了网页版以及 WebDAV形式访问,因此你几乎可以在任何电脑、手机设备上都能轻松获取和访问你的文件文档。
2022-01-26 15:00:55 6694 3
原创 罗技F310与F710游戏手柄驱动(附C++源码)
一. 简介二. 源码 1. 头文件Logitech_controller.h :/*========================= Logitech_controller ==========================*/ /* @file Logitech_controller.h * @author lindongdong * @brief 详情请看Logitech_controller.cpp*/ /*=========..
2021-10-07 19:53:37 7625 2
原创 Python常用Excell操作 ---- 基于xlrd、xlwt、xlutils
文章目录一. 介绍二. 安装与导入三. Xlrd 读取数据四. Xlwt 写入数据五. Xlutils 读写转换一. 介绍Python常用于Excell操作的模块有Pandas、XlsxWriter、Xlrd与Xlwt等。每个模块都有自己的优劣势,具体使用哪个模块也因人而异。这里主要讲的是Xlrd、Xlwt、Xlutils的常规使用方法。Xlrd,Xlwt 和 Xlutils是用Python处理Excel文档(.xls)的高效率工具。其中,Xlrd只能读取Xls;Xlwt只能新建Xls(不可以修改);
2021-09-01 10:32:45 3032 3
原创 Qt开发----如何发布Release版本(生成exe文件)
**1.** 首先打开想要发布的程序所在的项目。**2.** 点击左下角 `项目——>构建套件(Kit)——>构建`,选择`Release`。**3.** 点击`构建项目` (左下角那把锤子),或者使用快捷键`Ctrl+R`。
2021-06-28 20:24:52 23722 5
原创 Vector的理解与使用大全(C++)
文章目录一.关于vector二.vector的定义与使用三.vector相关函数四.相关链接一.关于vector 1. 什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 2. vector与数组的区别? 内存中的位置C++中数组为内置的数据类型,存放在栈中,其内存的分配和释放完全由系统自动完成;vector,存放在堆中,.
2021-04-12 15:43:21 1864 2
原创 华硕AC56(8812)Linux网卡驱动安装教程
注:该教程不只适用于AC56网卡,也适用于采用RTL8812芯片的网卡。问题 :使用台式机在Window10上安装双系统ubuntu18.04,采用外置网卡AC56。Window10下能正常使用WIFI,但在ubuntu下显示 “未发现WIFI适配器” ,问店家却得到这样的回复:解决办法 :Ubuntu无法发现WIFI适配器主要是因为缺少了对应网卡的驱动。 AC56网卡在Window下是免驱的,可以很好的适应Window环境,而网卡在Linux不能被自动识别,需要自行安装对应网卡驱动。在网..
2020-12-14 20:48:46 4839
原创 FreeRTOS+CubeMX系列第二篇——任务的创建与删除
一. 前言FreeRTOS中,任务是程序执行的最小单位,也是调度器处理的基本单位。本文主要介绍两种任务创建的方式,一种是在CubeMX中创建任务;另一种是在工程中调用FreeRTOS源码来创建任务,两种方式在本质上是一样的。二. 任务的创建开发环境:CubeMX Vesion 5.4.0 Keil Vesion 5.282.1 CubeMX中创建任务在Tasks and Queues中可以点击Add按钮添加新的任务:名称功能Task Name任..
2020-09-03 11:27:17 10706 6
原创 如何在Arduino IDE上搭建Teensy开发环境
1.安装Arduino IDE下载ArduinoIDE,可从官网上进行下载:http://www.arduino.cc 下载后安装即可,这里不赘述。 2.下载Teensy下载Teensy,可从官网上进行下载:https://www.pjrc.com/teensy/loader_xp.html 。 3.安装Teensyduino下载Teensyduino,可从官网上进行下载:https://www.pjrc.com/teensy/td_download.htmlTeensyduin..
2020-08-23 11:43:52 4948 7
原创 C++枚举类型enum与enum class
文章目录一.关于枚举类型二.枚举类型enum的使用三.枚举类型enum class的使用一.关于枚举类型 1. 什么是枚举类型? 答:如果一个变量只有几种可能的值,那么就可以定义为枚举类型,比如:性别只有男和女,那么就可以将性别定义为一种枚举类型,其中男和女就是性别所包含的变量。所谓”枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。在C++中,枚举类型分为不限定作用域(enum)和限定作用域(enum class)。 2. enum与enum class的区别? (为什么需要
2020-08-18 22:31:23 15271 2
原创 namespace命名空间解析
文章目录一.关于namespace二.namespace的使用方法1. 命名空间的定义2. 访问命名空间2.1 直接指定标识符2.2 使用using关键字2.3 使用using namespace xxx一.关于namespace 1.什么是namespace? 答:所谓namespace,是指标识符的各种可见范围,我们经常会用到这样的语句:using namespace std; using namespace cv;using namespace boost等等,这些都是一些标准库或者第三方库.
2020-08-16 22:32:19 2273
原创 FreeRTOS+CubeMX系列第一篇——初识FreeRTOS
文章目录一.关于FreeRTOS消息队列FreeRTOS在Stm32上的应用(1)CubeMX上配置FreeRTOS(2)任务的创建与删除(3)消息队列的生成与应用一.关于FreeRTOS消息队列FreeRTOS在Stm32上的应用(1)CubeMX上配置FreeRTOS(2)任务的创建与删除(3)消息队列的生成与应用...
2020-08-14 22:08:06 18665 1
原创 C语言标准库函数大全(ctype、time 、stdio、stdlib、math、string)
文章目录C语言函数库一. C语言函数库一. <assert.h>二. <ctype.h>三. <errno.h>四. <limits.h>五. <locale.h>六. <math.h>七. <setjmp.h>八. <signal.h>九. <stdarg.h>十. <stddef.h>十一. <stdio.h&.
2020-07-29 02:00:18 108893 36
原创 GPIO相关函数解析(HAL库)
前言最近复习了一下Stm32关于GPIO的一些操作,也对其相关函数做了一下整理,以下的8条函数均在HAL库的 stm32l4xx_hal.c 中。内容 1. HAL_GPIO_Init /* @brief 根据GPIO_Init中指定的参数初始化GPIOx外设。 * @param GPIOx IO句柄 * @param GPIO_Init 工作模式句柄 * @retval None */void HAL_GPIO_Init(GPIO_TypeDef *GP.
2020-07-27 01:52:57 13712
原创 串口DMA知识梳理以及在Stm32的应用(HAL库)
一.关于DMA 1.什么是DMA? 答:DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。 2.DMA的意义是什么? 答:简单的来说,能控制主存内部读写,这样有利于减轻CPU负担,加快读取速度。 3.串口使用DMA与不使用DMA有什么区别?答:区别可大了.
2020-07-25 01:51:45 12447 4
原创 串口通讯知识梳理及在Stm32上的应用(HAL库)
文章目录一.前言二.串口数据的发送与接收三.串口波特率四.串口的数据格式(1)起始位(2)数据位(1)奇偶检验位(1)停止位五.物理接口的形式六.TTL、RS232、RS485电平标准六.九针串口(DB9)与四针串口七.串口通讯在Stm32上的应用一.前言二.串口数据的发送与接收三.串口波特率四.串口的数据格式(1)起始位(2)数据位(1)奇偶检验位(1)停止位五.物理接口的形式六.TTL、RS232、RS485电平标准六.九针串口(DB9)与四针串口七.串口通讯在Stm32上的应.
2020-07-23 16:56:38 7765 7
原创 CAN通信知识梳理及在Stm32上的应用(HAL库)
CAN是控制器局域网络(Controller Area Network, CAN)的简称,1986年被德国研发和生产汽车电子产品著称的BOSCH公司所开发。CAN是国际标准化的串行通信协议,采用数据块编码的方式,数据块根据帧的类型,能够让挂载在总线上的不同节点接收到相同的数据,再根据每个节点的配置对信息进行选择性处理(处理or丢弃)。...
2020-07-18 20:51:52 42117 10
原创 Stm32延时与计时方法(HAL库)
文章目录中断延时通过在中断中的计数值的不断递减来达到精确延时,而非中断则通过在循环里不停查询寄存器数值来达到精确延时。前者因为中断的存在,不利于在其他中断中调用延时函数。在很多延时教程中,都喜欢推荐非中断式的延时。不过对于非特殊情况,两者的效果是一样的。反而非中断延时需要操作寄存器,反而更难理解。
2020-07-11 22:40:39 22619 10
原创 解码斯坦福开源狗DogGo--附硬件清单、源码、图纸、论文
文章目录一.DogGo介绍二.相关链接三.硬件解析四.软件解析一.DogGo介绍DogGo是由斯坦福学生机器人俱乐部(Stanford Student Robotics club)Extreme Mobility 团队设计并打造,全名为 Stanford Doggo 的四足机器人。这个机器人能跳 1 米多高,还能表演后空翻。与其他四足机器人动辄上万美元的成本不同,这个机器人的成本降到了 3000 美元以下。设计团队在2019年初陆续开源了该机器人的设计图、代码以及材料清单。Stanford Dogg
2020-05-10 22:35:29 18102 22
原创 PS2手柄通讯协议解析---附资料和源码
文章目录一.PS2介绍二.PS2通讯协议介绍一.PS2介绍今天就带大家来认识一下PS2的通讯协议,如果你需要用PS2无线手柄搭配单面机来DIY制作,那么千万别错过这篇文章。首先介绍一下我们今天的主角–PS2手柄。 PS2手柄是日本SONY公司的PlayStation2 游戏机的遥控手柄。索尼的 PSX系列游戏主机在全球都很畅销。不知什么时候便有人打起 PS2手柄的主意,破解了通讯协议,使...
2020-04-27 17:16:08 38721 13
原创 OpenHD---低成本开源高清数字图传
OpenHD通过一般的无线网卡作为无线电的发射与接受,通过载体树莓派实现高清图像的实时传输,同时集成了OSD功能、热点功能、支持HDMI显示器、手机、电脑作为终端、支持MAVlink、BF、INAV,支持发送和接受遥测、音频和各种控制数据,还配备有齐全的软件app。关键是一套下来非常便宜(这里的便宜是指对比现在市面上的高清图传,结合传输距离,功能、性价比得出,只是相对的)...
2020-04-19 16:41:37 48747 44
QT与STM32实现Ymodem串口远程升级(包含Boot、App、Qt的代码)
2024-11-01
SerialDebug串口调试软件
2024-10-15
STM32与QT串口传输结构体Demo
2024-10-11
TI 电量计应用手册.PDF
2023-07-27
ST-LINK原理图、原理图、软件、固件、驱动
2023-03-08
ADAS1000驱动电路与驱动代码
2022-12-06
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-guneabi.tar.xz
2022-06-23
qt-everywhere-src-5.12.9
2022-06-23
常用贴片电感PCB封装库(AD库,封装带3D视图)
2022-04-19
自制ST-LINK 附原理图与PCB图
2022-04-15
The Generalized Correlation Method for Estimation of Time Delay
2022-04-14
STLinkV2.J28.M18_固件
2022-04-13
python-3.9.10-amd64.exe
2022-03-16
MinGW -w64-for window 32bit or 64 bit
2022-03-16
get-platformio.py
2022-03-16
Altium Designer 导入logo图片插件
2022-03-11
Altium Designer 导出交互BOM表插件
2022-03-11
LogitechF310遥控手柄QT程序
2021-10-20
Vimium 谷歌浏览器插件
2021-05-27
CSDN博客里视频如何居中
2021-07-01
有人知道Cmake文件中这条命令是什么意思吗?
2021-01-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人