草庐IT

STM32学习----ADC模数转换(轮询、中断、定时器、DMA)

什么是模拟数据        模拟数据是指在一定时间范围内连续变化的信号,该信号的取值可以是任意实数值。例如,声音、温度、压力等物理量在不同时间内的变化可以表示为模拟数据。在数字化处理中,需要将模拟数据转换为数字信号,以便于进行数字化处理和存储。什么是数字数据        数字数据是指在一定时间范围内以离散形式表示的信号,该信号的取值只能是一组预定义的数字。例如,计算机中的数据、音频、视频等信号都是以数字形式表示的。在数字化处理中,模拟数据需要通过模数转换器(ADC)转换为数字数据。什么是模数转换        模数转换是将模拟信号转换成数字信号的过程。它的基本原理是利用采样定理,将连续时间

stm32中断调用流程

USART1_IRQHandler(void)(中断服务函数)->HAL_UART_IRQHandler(UART_HandleTypeDef*huart)(中断处理函数)->UART_Receive_IT(UART_HandleTypeDef*huart)(接收函数)->HAL_UART_RxCpltCallback(huart);(中断回调函数)HAL_UART_IRQHandler(UART_HandleTypeDef*huart)是UART中断处理函数,用于处理UART的中断事件。当UART模块触发中断时,该函数会被调用,并根据中断类型执行相应的操作。UART_Receive_IT(U

C#_Win32_PInvoke源码生成器

介绍一个源代码生成器,用于向C#项目添加一组用户定义的Win32P/Invoke方法和相关的类型。链接地址:https://github.com/microsoft/CsWin32还在手动添加平台调用的代码或者增加无用的程序集?微软的官方解决方案来了!特色快速将P/Invoke方法和相关类型添加到您的C#项目。没有笨重的程序集,按需使用自动生成安全的类型SafeHandle基于微软的官方链接生成xml文档和接口注释先决条件The.NET5SDKorVisualStudio2019Update8(16.8)(具体看自己Github上的说明吧)使用方法安装nuget包dotnetaddpackag

win10语言切换调整为像win7一样,设置纯英文键盘切换,使用ctrol+shift切换键盘

文章目录引入键盘布局说明安装美式键盘去掉微软键盘,修改布局切换快捷键最终效果引入我们在玩游戏或者写代码的时候,常常需要使用shift键,而输入法的shift键常常是中英切换按键,这就让人非常不爽了,这里仿照在win7中的输入法设置,我们使用一个纯英文的美式键盘和一个默认中文的搜狗键盘,并使用ctrol+shift实现键盘切换,这样在纯英文键盘的时候就不用担心shift键会导致中英切换而影响操作啦。win11配置纯英文键盘视频讲解键盘布局说明首先我们可以发现,win10安装搜狗以后我们按住键盘的ctl+shift键可以切换键盘布局,一般是两种微软拼音+搜狗输入法如下图所示我们选择上图中的语言选择

老电脑安装win11官方原版系统

文章目录前言一、win11官方原版镜像下载二、系统安装1、开始安装2、通过修改注册表跳过硬件检测3、继续剩余安装三、系统部署1、开始部署2、通过修改注册表跳过联网激活3、继续剩余部署四、新系统开荒1、edge浏览器部署2、通过系统更新补丁安装驱动3、软件安装总结前言提示:本处以微软2023年下半年发布的windows1123H2版本作为案例演示例如:随着window系统的更新迭代,很多软件已不支持老的windows系统,老的电脑硬件也不满足新系统的安装要求,老电脑买了才几年换新电脑不划算,很多人都开始了老电脑安装新系统的学习,本文就介绍了老电脑安装win11官方原版系统的基础内容,着重讲解如何

智能小车红外测速模块的使用方法(基于STM32的标准库)

基于STM32标准库编程实现智能小车的红外测速所需掌握的知识:(1)外部中断的配置(2)定时器的配置(3)串口的配置红外测速的核心思路:(1)红外测速模通电后,会发出红外线,利用测速盘对红外线进行遮光,使测速模块连接STM32的中断引脚触发中断。每次发生中断,就进入一次中断服务函数,对遮光次数进行累加并记录。(2)配置定时器为0.01s触发一次中断,每次中断程序自动进入定时器的中断服务函数,设置一个定时器中断次数的计数值,使用if语句判断定时器中断次数如果为100次,即为1s的时间定时,就进行速度的处理。(3)计算公式:路程=[(总遮光次数/测速盘孔数)*2πR/1000]注意事项:(1)总遮

【STM32】CRC(循环冗余校验)

一、CRC的背景知识1、什么是CRC(1)CRC(CyclicRedundancyCheck),循环冗余校验(2)什么是校验,为什么需要校验:数据传输,数据存储过程中需要使用到的(3)什么是冗余:表示比实际上要传输的数据还要多(4)校验实现的关键:冗余少、运算少、识错纠错能力强(有些算法只能识别错误但是无法纠错)2、CRC原理介绍(1)(N,K)码:N=K(数据信息)+R(校验码),K位信息码,R位校验码,N位总信息长度(2)CRC多项式:由K位信息码计算得到R位校验码的算法,以移位(左移,右移)和mod2(取余)为主的叠加3、CRC的实现方法:软件OR硬件(1)纯软件实现,靠CPU的运算能力

解决Windows缺少api-ms-win-core-console-l1-1-0.dll文件问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个api-ms-win-core-console-l1-1-0.dll文件进行安装(前提是找到适合的版本),当我们执行某一个.exe程序时,相应的DLL文件就会被调用,因此安装好之后就能重新打开你的软件或游戏了.那么出现api-ms-win-core-console-l1-1-0.dll丢失要怎么解决?一、手动从本站下载dll文件1、从下面列表下载api-ms-win-core-console-l1-1-0

【雕爷学编程】Arduino智能家居之ESP32-CAM模块实现WebSocket实时监控

Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。Arduino的特点是:开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。易用:Arduino的硬件和软件都是为初学者和非专业

STM32定时中断具体配置讲解(定时1s触发中断为例)(有待更新)

        这里介绍一下STM32定时中断。    有时候我们需要用到定时或者计数功能,这时候就需要用到定时器了,通俗地讲就是我们可以通过调节它的本身主频率来得到我们需要的频率大小,进而设定时间,也可以配置外部计数的模式使用外部计数。    这里以STM32F103C8T6为例,该单片机拥有四个定时器,其中包括一个高级定时器TIM1,通用定时器TIM2,TIM3,TIM4,我们用TIM2进行代码编写。    首先进行定时器的初始化配置,具体配置见下面所附代码,讲解一下部分比较难懂的地方,这里说明一下TIM2是APB1总线外设,所以开启APB1,其余定时器的总线查看以下数据手册。    配置