草庐IT

蓝桥杯嵌入式第五课--输入捕获

前言输入捕获的考题十分明确,就是测量输入脉冲波形的占空比和频率,对我们的板子而言,就是检测板载的两个信号发生器产生的信号:具体来说就是使用PA15和PB4来做输入捕获。输入捕获原理简介输入捕获能够对输入信号的上升沿和下降沿进行捕获,并且记录下捕获时定时器的数值以及触发中断。借用一张图来阐明这个动作:边沿触发,产生捕获中断中断中读取当前的计数值CCR,并且将计数值清零退出中断因此通过计数值可以计算出高电平持续时间,这里面有一个溢出的问题,对于我们的信号发生器来说,其信号的频率比较高,计数器不会发生溢出,因此不需要考虑。根据功能分为两类:普通输入捕获(只能测频率)PWM输入模式(可以测频率和占空比

【毕业设计】基于STM32的空气质量检测仪 - 环境检测盒子 - 单片机 物联网

文章目录1简介2系统设计概述3系统总体方案4硬件设计方案4.1stm32主控4.2温度采集模块4.3甲醛浓度检测模块4.4PM2.5浓度检测模块4.5液晶显示模块设计4.6GSM模块4.7蓝牙模块5软件部分设计5.1初始化5.2温湿度检测程序设计5.3甲醛浓度检测程序设计5.4PM2.5浓度检测程序设计5.5短信发送程序设计效果展示6项目源码6.1ADC部分6.2DS18B206.3RTC部分6.4main部分7最后1简介Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机项目基于STM32的空气质量检测仪大家可用于课程设计或毕业设计单片机-嵌入式毕设选题大全及项目分享:https://bl

javascript - Gecko 2 : Float32Array concatenation and expansion 中的类型化数组

我对JavascriptTypedArrays有点困惑.我有几个Float32Array,它们没有concat方法。顺便说一句,我不知道他们提前了多少。我想将它们全部连接到另一个Float32Array中,但是:正如我之前所说,没有连接方法如果我尝试写入超过数组长度,则数组不会扩展(也就是说这不会起作用-请注意event.frameBuffer和buffer都是Float32Array并且我不知道我的最终长度是多少缓冲区将是):varlength_now=buffer.length;for(vari=0;i我找到的唯一解决方案是将Float32Array复制到常规数组中,这绝对不是我想

【51单片机实验笔记】2. 数码管的基本控制

目录前言硬件介绍原理图分析段选和位选驱动芯片74HC138芯片74HC245芯片软件实现点亮一只数码管倒计时效果动态显示字符数码管常用函数封装总结前言本节内容我们学习如何控制数码管,先尝试点亮一个数码管,并实现倒计时效果。硬件介绍数码管的英文为NixieTube,又称辉光管或LED数码管。其基本单元由LED组成,单个数码管的概念图如左图所示,一般可以分为七段数码管和八段数码管两种。八段比七段多一个小数点,应用更为广泛。除此之外,单个数码管只能显示一个数字(字母),功能受限。所以常常将多个数码管封装起来,如右图所示,常用的为4位数码管。图1八段数码管图2多位数码管数码管的发光颜色由管中充的低压气

下推式磁悬浮装置

一、方案论证    如图1.1所示,下推式磁悬浮需要三自由度的控制,两组四个线圈提供X轴方向和Y轴方向的矫正力,Z轴方向的推力。当磁性浮子重力和线圈提供的Z轴方向推理大小相等方向相反时,系统平衡,磁性浮子悬浮。正力提供磁性浮子位置的纠正。磁性浮子下方有霍尔传感器,用来检测浮子的位置,反馈给控制器,实现闭环控制。 图1.1 下推式磁悬浮系统结构图   系统框图如下图1.2所示。图1.2 下推式数字磁悬浮系统框图    该磁悬浮系统是由磁铁浮子,载重磁铁,浮力线圈,线圈驱动,电源模块,微控制器,线性霍尔传感器,电压控制电路组成。其中载重磁铁的作用是承受磁铁浮子的大部分重力,而浮力线圈是提供矫正力的

STM32CubeMX和华为LiteOS Studio开发STM32

一、软件介绍华为LiteOSStudioLiteOSStudio是华为基于LiteOS嵌入式系统软件开发的工具,支持C、C++、汇编等多种开发语言,提供代码编辑、编译、烧录及调试等一站式开发体验。目前支持ARMCortex-M0,Cortex-M4,Cortex-M7,Cortex-A7,ARM926EJ-S等芯片架构。  LiteOSStudio目前已经适配了12种开发板,其中包括ST、GD、HiSilicon、FudanMicroelectronics等主流厂商的开发板,IoTStudio支持新增MCU列表,以满足用户其他开发板的业务需求。STM32CubeMXSTM32CubeMX是ST

使用串口烧写程序到STM32F103C8T6最小板(CH340)

文章目录前言一、Flymcu介绍二、烧录步骤1.Keil52.Flymcu烧录3.补充BOOT0和BOOT1引脚3.1BOOT0引脚3.2BOOT1引脚(烧录用不上)3.3Bootloader总结前言商家没给ST‐LINKV2下载器,故使用串口将程序烧录到最小板,使用仿真软件Flymcu进行。(默认安装过CH340的驱动)一、Flymcu介绍联机下载时的程序文件:编译生成的.hex文件;编程前重装文件:当选中该项后,flymcu会在每次编程之前将Hex文件重新装载一遍,这对于代码调试的时候比较有用;编程后执行:当选中该项后,在下载完程序之后自动运行代码,无须再按下复位键;读器件信息:如果读取到

ESP32的CAN通信

目录一、ESP32的CAN通信说明1.1、片内外设1.2、CAN库的查找1.3、MCP2515和SJA1000介绍1.4、CAN库的安装1.4.1、先下载库,再导入到arduinoIDE中1.4.2、通过“库管理器”安装。二、硬件说明2.1、硬件准备2.2、硬件连接三、代码调试3.1、打开示例3.2、修改代码3.3、编译上传四、其它说明 SimpleFOC、ODrive和VESC教程链接汇总:请点击  一、ESP32的CAN通信说明 1.1、片内外设CAN在ESP32芯片中叫TWAI,如下图: 1.2、CAN库的查找ESP32官方提供的arduino库不支持CAN通信,也没有对应的例程,所以需

javascript - Windows 10 32 位上的 Edge 阻止对本地主机的 ajax 调用,网络错误 0x2efd

我们有一个使用SignalR与本地扫描仪驱动程序对话的应用程序,该应用程序已经在IE、Chrome和Firefox上投入生产了几年,它们在拉下SignalR的hubsjs头文件时没有问题。Edge推出后,我们发现与localhost通信存在问题,经过长时间的努力找到允许其通信的设置(并且经过数小时的Microsoft票证,他们没有找到解决方案),我们决定添加header以允许Edge授予访问域:访问控制允许来源:https://localhost:11000这似乎有效,但我们几乎没有注意到它适用于64位Windows10Edge,但不适用于32位Windows10Edge。我花了几个小

javascript - 哈希从32bit int到16bit int?

有什么简单的方法可以将32位整数(例如IP地址,例如Unixtime_t等)散列为16位整数?例如。hash_32b_to_16b(0x12345678)可能返回0xABCD。让我们以一个可怕但实用的示例解决方案开始:functionhash_32b_to_16b(val32b){returnval32b%0xffff;}问题特别是关于JavaScript的,但是可以随意添加任何与语言无关的解决方案,最好不要使用库函数。这个问题的内容是生成唯一的ID(例如,一个64位ID可能由多个具有各种32位值的16位哈希组成)。避免碰撞很重要。简单=好。古怪+模糊=有趣。