草庐IT

C++模板——template

全部标签

STM32——端口复用与重映射概述与配置(HAL库)

文章目录前言一、什么是端口复用?什么是重映射?有什么区别?二、端口复用配置前言本篇文章介绍了在单片机开发过程中使用的端口复用与重映射。做自我学习的简单总结,不做权威使用,参考资料为正点原子STM32F1系列精英板HAL库开发手册。我也做了相关对比,其实HAL库与标准库差别不大,HAL库封装更多更好移植,原理上是通用的。一、什么是端口复用?什么是重映射?有什么区别?STM32F1有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。根据正点资料和自己搜索的资料,大概总结,端口复用就是

一起玩儿物联网人工智能小车(ESP32)——69 使用INMP441模块采集声音

摘要:本文介绍如何使用INMP441模块采集声音前边介绍了第一个基于I2S通信协议的MAX98357A模块,利用该模块可以播放各种声音文件。今天来介绍如何使用INMP441模块实现声音的采集功能,也就是如何将声音转变成数字信号。INMP441是一款高性能,低功耗,数字输出的全向MEMS(微型机电系统)麦克风。完整的INMP441由一个MEMS声音传感器,模数转换器(ADC),抗混叠滤波器,电源管理和标准的24位I2S接口组成。I2S接口允许INMP441直接连接到数字处理器,如DSP和微控制器,而无需再使用音频编解码器,极大的降低了开发的难度。INMP441具有高信噪比,是一款出色的近场应用。

Methodot低代码实战教程(一)——熟悉可视化Echart组件

一、产品介绍:Methodot是行云创新旗下一款面向研发使用的一站式云原生开发及应用托管平台,产品内有大量开箱即用的服务和开发工具,例如:支持开发团队进行微服务架构设计(例如一个袜子商店管理系统),服务参数以模块的形式传递配置微服务参数 支持绑定git、镜像、代码进行云原生模式开发及部署无需额外配置编译环境,大量开箱即用的环境模板,开箱即可云端编码,编码结束后推送git保存 支持低代码应用开发,快速开发企业及团队内部工具 大量已安装的中间件等工具,开箱即用本次案例将介绍如何使用低代码板块中的Echart组件,将复杂的数据转化为有意义的可视化图表,并将其集成到您的应用程序或系统中。这将帮助您的用

OpenCv案例(十三):基于OpenCVSharp-模板匹之旋转角度匹配

原模板匹配方法中,是无法进行任意角度和旋转匹配的,但我们在实际的使用中,模板图像的位置和方向都是不确定的,因此,就需要我们对模板图像进行预处理,处理后在进行模板匹配。基本处理方法如下:模板图像读取进行模糊绘制轮廓形态学处理提取轮廓获取当前位置角度图像旋转。原图读取从4个角度进行模板匹配(0°,90°,180°,270°)记录每个角度的匹配值进行后续操作。1:原图如下所示:2:模板图像如下所示:3:思路:在模板图像中,抠出图像,并且找到当前的旋转角度,将其恢复为正向0°,在进行对其模板匹配,给出匹配结果。处理过程图像如下:分别是将其调整为正向后,0°,90°,180°,270°的旋转匹配,同时记

python——Django 框架

Django框架1、 简介Django是用python语言写的开源web开发框架,并遵循MVC设计。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。2、特点1)重量级框架对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。提供项目工程管理的自动化脚本工具数据库ORM支持(对象关系映射,英语:ObjectRela

落雪音乐换源失败播放不了音乐——保姆级解决方法

不想看原因可以直接跳转到下面的解决方法一、换源失败的原因二、解决方法注意!2.1电脑版解决方法2.2手机版解决方法前提(必看!)解决方法一、换源失败的原因落雪开发者原话:虽然我们之前做了一些努力(如锁定音质为128k、非推荐的默认设置等),但这一天终究还是到来,LX于2023年10月18日收到了腾讯的警告信,要求停止提供软件内置的连接到他们平台的在线播放及下载服务,所以我们决定关停内置的“临时接口”与“测试接口”。通俗一点就是:播放音乐的源头被禁止了,需要自定义一个源。而最新的落雪音乐软件的音乐接口只能自定义,电脑版与手机版都是如此。二、解决方法注意!换源需要的文件无法放到csdn上面,只能放

小程序API能力集成指南——画布API汇总(二)

createCanvasContext ty.createCanvasContext(stringcanvasId)创建 canvas 的绘图上下文 CanvasContext 对象参数stringcanvasId要获取上下文的 canvas 组件canvas-id属性返回值CanvasContextCanvasContextcanvas组件的绘图上下文。方法如下(1):drawCanvasContext.drawCanvasContext.draw()功能描述将之前在绘图上下文中的描述(路径、变形、样式)画到canvas中。示例代码constctx=ty.createCanvasContex

Linux下的版本控制系统——Git:初学者指南

引言在软件开发的世界中,版本控制是一项至关重要的技术。它允许开发者追踪和管理代码的变更历史,协同工作,并在必要时恢复到之前的版本。而在Linux系统下,Git已经成为事实上的版本控制标准。本文将带领大家走进Git的世界,从安装到基本使用,一步步掌握这个强大的工具。Git简介Git是一个分布式版本控制系统,由LinusTorvalds创建,现已成为软件开发领域最常用的版本控制工具之一。与传统的集中式版本控制系统不同,Git的每个开发者都拥有完整的版本库,可以独立地进行开发和提交。这种分布式的特性使得Git在协同开发、代码托管和代码审查等方面表现出色。安装Git在Linux系统中安装Git非常简单

数据结构——lesson6二叉树基础

前言hellohello~这里是土土数据结构学习笔记🥳🥳💥个人主页:大耳朵土土垚的博客💥所属专栏:数据结构学习笔记💥对于数据结构顺序表链表有疑问的都可以在上面数据结构的专栏进行学习哦~感谢大家的观看与支持🌹🌹🌹有问题可以写在评论区或者私信我哦~前面我们已经学习过了数据结构中顺序表和链表(都放在数据结构专栏了),今天我们将继续学习数据结构中二叉树有关的知识🥳🥳💥1.树概念及结构🎉1.1树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。类似于倒立的树:✨有一个特殊的结点,称为根结点,如

数据结构从入门到精通——栈

栈前言一、栈1.1栈的概念及结构1.2栈的实现1.3栈的面试题二、栈的具体实现代码栈的初始化栈的销毁入栈出栈返回栈顶元素返回栈中的元素个数检测是否为空Stack.hStack.ctest.c前言栈,作为一种后进先出(LIFO)的数据结构,在计算机科学中扮演着重要的角色。它的特性使得它在处理函数调用、括号匹配、表达式求值等问题时具有得天独厚的优势。然而,如果我们跳出传统思维的束缚,会发现栈的用途远不止于此。在现代软件开发中,栈的概念被广泛应用在内存管理、并发控制等多个领域。以内存管理为例,每个线程都有自己的栈空间,用于存储局部变量和函数调用信息。这种隔离保证了线程之间的数据安全,避免了数据混乱和