硬件 hx711模块使用原理图如下: 应变片原理 图片来源 程序 使用此测试程序需要先下载 HX711 库文件。下载方法:在“工具”—>“管理库”中,搜索“hx711”,并安装图示的库文件。 拉力计模块测试程序: /****************************************************************** * 程序名称:拉力计模块 H
欧式聚类详解(点云数据处理)欧式聚类是一种基于欧氏距离度量的聚类算法。基于KD-Tree的近邻查询算法是加速欧式聚类算法的重要预处理方法。 KD-Tree最近邻搜索Kd-树是K-dimension tree的缩写,是对数据点在k维空间中划分的一种数据结构;Kd-树是一种平衡二叉树。为了能有效的找到最近邻,Kd-树采用分而治之的思想,即将整个空间划分为几个小部分。k-d树算法的应用可以分为两方面,
嵌入式开发–赛普拉斯cypress的铁电存储器FM25CL64B 简介FM25CL64B是赛普拉斯cypress出品的一款铁电存储器,这种存储器最大的优势是可以像RAM一样随机存储,和按字节写入,也可以像ROM一样掉电仍然可以保存数据,是一种相当优秀的新型存储器,但是容量不能做得很大,只适合保存一些重要数据。 重要参数及解读如下: 64K位,即8K字节100T的读写次数,这意味着即使对于同一
这个玩意吧,说起来很简单,就是几行代码的事,但楞是折腾了我大半天时间才搞定。原因后面说,先看代码吧: 读操作 读操作很简单,以32位方式读取的时候是这样的: data = *(__IO uint32_t *)(0x0800F000); 需要注意的是,当以32位方式读取时,地址需要是4的整数倍,即32位。8位或16位方式类似操作即可 写操作 需要注意的是,写操作时,是以64位方式写入
回顾之前讲过用 利用IDLE空闲中断来接收不定长数据 ,但是没有用到DMA,其实用DMA会更加的高效,MCU也可以腾出更多的性能去处理应该做的事情。 原理简介IDLE顾名思义,就是空闲的意思,即当监测到串口空闲超过1个串口的数据帧时,会使状态寄存器(SR或ISR)的IDLE位置位,如果此时控制寄存器(CR或CR1)的IDLEIE为1,则会触发IDLE中断。 DMA搬运数据,则是一边接收数据,一
什么是移位寄存器 移位寄存器:是指多个寄存器并排相连,前一个寄存器的输出作为下一个寄存器的输入,寄存器中存放的数据在每个时钟周期向左或向右移动一位。 下面的右移移位寄存器因为左侧没有有效输入,所以在第4个时钟周期,寄存器内就已经没有有效数据了。 反馈移位寄存器:寄存器被移出的数据后又通过某种方式或函数重新连接到了移位寄存器的输入端,从而使得移位寄存器有不断的输出。 线性反馈移位寄存
蓝桥杯单片机学习过程记录(二)独立按键 按键控制led灯 按键控制流水灯 按键消抖、抬起亮灯 多个按键控制流水灯 单片机独立按键控制部分 长夜漫漫无心睡眠,京京姑娘你在哪 按键控制led灯 //按键控制led灯 #include<STC15F2K60S2.H> void main(void) { P0 = 0X00;P2
1、什么是BCD码? BCD码是一种2进制的数字编码形式,用4位2进制数来表示1位10进制中的0~9这10个数。这种编码技术,最常用于会计系统的设计里,因为会计制度经常需要对很长的数字做准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可使电脑免除作浮点运算所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码也很常用。 常见的BCD码有很多种形式,比如8421码
什么是模块化设计 FPGA/IC设计中根据模块层次的不同有两种基本的设计方法: 自下而上方法对设计进行逐次划分的过程是从基本单元出发的,设计树最末枝上的单元是已经设计好的基本单元,或者其他项目开发好的单元或者IP。该方法先对底层的功能块进行分析,然后使用这些模块来搭建规模更大的功能块,如此继续直至顶层模块。 自上而下的设计是从系统级开始,把系统分为基本单元,然后再把每个单元划分为下一层次
今天我们来手撕一个常见的笔试题:模3检测,使用的方法是三段式Moore状态机。 题目描述: 输入端口是串行的1bit数据,每个时钟周期进来一位新数据后,实时检查当前序列是否能整除3,若能则输出1,否则输出0。 例如,在4个时钟周期依次输入的数据为1、1、0、1。则有: T1:数据序列为1(10进制的1),不能为3整除,所以输出flag = 0; T2:数据序列为11(10进制
嵌入式开发–获取STM32产品系列和容量信息 获取STM32产品系列 有时候我们需要知道当前MCU是STM32的哪一个系列,这当然可以从外部丝印看出来,但是运行在内部的软件如何知道呢? ST为我们提供了一个接口,F1和G4系列地址统一为:0xE004 2000,需要以32位方式读取。 H7系列的地址是0x10006450 对于F1系列,该说明如下: 对于G4系列,说明如下:
引入:准备: STM32固件库包。 ST官方提供的STM32固件库包:STM32F10x_StdPeriph_Lib_V3.5.0(文件夹名)介绍: 文件夹含有:Libraries、Project、Utilities等文件夹。 Libraries文件夹含有:CMSIS、STM32F10x_StdPeriph_Driver(包含固件库核心的所有子文件夹和文件,建立工程时都会使用到)
一.简介 之前介绍过H桥电机驱动电路的基本原理,但是以集成的电机驱动芯片为示例。这些集成的芯片使用起来比较简单,但是只能适用于一些小电流电机,对于大电流的电机(比如:RS380和RS540电机),则不能使用这些集成的芯片(否则会导致芯片严重发热并烧毁)。 此时便需要自行用半桥/全桥驱动芯片和MOS管搭建合适的H桥电机驱动电路实现对大电流电机的驱动控制。 二.示例原理图和PCB展示 此原
内容列表 一、硬件连接 二、寄存器步骤 三、代码区 一、硬件连接 GPIO输出方式: 推挽输出 二、寄存器步骤 使能IO口时钟。配置寄存器RCC_APB2ENR。 参考手册---》6.3.7 APB2 外设时钟使能寄存器(RCC_APB2ENR) 也可直接到
一、 什么是SysTick? 这是一个24位的系统节拍定时器system tick timer,SysTick,具有自动重载和溢出中断功能,所有基于Cortex_M3处理器的微控制器都可以由这个定时器获得一定的时间间隔。(Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。) 二、SysTick作用 在单任务引用程序中,因为其架构就决定了它执行任务
持续关注阿杰在线更新保姆式笔记~~坚持日更 参考资料《STM32F1开发指南-库函数版本》3.4小节和6.4小节《STM32中文参考手册V10》29章 内容列表 一、前言 二、调试原理 三、软件调试 四、硬件调试 一、前言 这一篇博客主要讲解STM32F1开发板如何进行调试,分别是硬件调试(STLINK)调试和软件调试。 二、调试原理 STM32的调试原理
持续关注阿杰在线更新保姆式笔记~~坚持日更 一、硬件连接 BEEP = 0;—->不响 BEEP = 1;—->响 二、库函数——步骤 使能IO口时钟。调用函数RCC_APB2PeriphColckCmd(); 不同的IO组,调用的时钟使能函数不一样。 初始化IO口模式。调用函数BEEP_Init(); 操作IO口,输出高低电平。 三、代码区
大家好,我是杂烩君。 越来越多的硬件产品,硬件构成不仅仅是集成在一块板子上,而是多块控制板协同工作。 此时,就会涉及到多块板之间的通信(有线/无线通信),就会涉及到到通信协议。很多时候,我们都会自定义一些协议。 我们之前在也分享一种常用的自定义协议格式: 分享一种灵活性很高的协议格式(附代码例子) 在多板系统中,会有以下这些应用场景: 每块板都有OTA升级的需求。 可能某块板
https://gitee.com/zhengnianli/EmbedSummary 我们的资料仓库下面之前有一位小伙伴留言: 杂烩君之前偶然间知道aardio这么一个工具,但没有实际去了解过。本期花点时间来了解、学习一下aardio,看看aardio是不是如这位朋友所说的这是一个不错的工具。 本期主角:aardio aardio属于易用性极强的动态语言,但也是一种混合语言
使用VScode编译betaflight固件—基于windows平台 1、使用git克隆betaflight的开源代码 2、betaflight的代码框架分析: 3、配置编译环境: 4、VScode上编译 betaflight不仅可以在LInux上进行编译也可以在Windows上编译,本文主要介绍在windows平台上使用VScode编译betafli
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信