- 博客(24)
- 收藏
- 关注
原创 第一步:AS5600获取角度
第一步:AS5600获取角度首先需要注意的是:这个代码不是我写的,是B站慕静诚贵大佬开源分享的,我就是想学习一下, 然后自绘一个驱动板、再搭配动量伦玩玩,所以今天我开始了大佬的群主学习!有说的不对的地方,请随时指出,我是菜鸡,很多地方都不懂~代码分析首先我们要明白,如果单纯的只是用AS5600去读取电机的位置角度相关信息,我们需要什么?不需要电机转,我们用手扭动~那你再想想需要什么去获取角度?答案:MCU与AS5600进行通讯,读取相关寄存器的值。然后我们就明白了,只是单纯用到了一个通讯接口,而A
2022-03-30 16:21:44 9611 5
原创 3-3 ESP8266闪存文件系统(SPIFFS)
1.通过程序向闪存文件系统写入信息//本例程是向我们指定的文件路径文本中写入想要写入的内容#include <FS.h>//包含文件系统的头文件//定义一个文件名,以后把信息放在ESP8266-FS文件中的一个first.txt文本中String file_name = "/ESP8266-FS/first.txt";void setup(){ Serial.begin(9600);//开启串口,波特率为9600 Serial.println("");//打印一个空格 S
2021-08-18 16:40:46 1057
原创 BlueTooth
main.c#include "stm32f10x.h" #include "./led/bsp_led.h"#include "./systick/bsp_systick.h"#include "./beep/bsp_beep.h"#include "./key/bsp_key.h"#include "./usart/bsp_usart.h"#include "./HC_SR04/bsp_hcsr04.h"#include "./BlueTooth/bsp_bluetooth.h"#in
2021-08-17 20:26:11 312
原创 04.HC_SR04超声波测距
main函数#include "stm32f10x.h" #include "./led/bsp_led.h"#include "./systick/bsp_systick.h"#include "./beep/bsp_beep.h"#include "./key/bsp_key.h"#include "./usart/bsp_usart.h"#include "./HC_SR04/bsp_hcsr04.h"//软件延时函数void Soft_Delay(unsigned int ti
2021-08-17 16:58:07 654
原创 Matlab自学一本通之数组与矩阵
Matlab自学一本通之数组与矩阵2021年7月11日数组运算 数组运算是 MATLAB 计算的基础。由于 MATLAB 面向对象的特性,这种数值数组成 为 MATLAB 最重要的一种内建数据类型,而数组运算就是定义这种数据结构的方法。本节 将系统地列出具备数组运算能力的函数名称,为兼顾一般性,以二维数组的运算为例,读者 可推广至多维数组和多维矩阵的运算。 下面将介绍在 MATLAB 中如何建立数组,以及数组的常用操作等,包括数组的算术运 算、关系运算和逻辑运算。数组的创建和操作在 MAT
2021-07-11 09:20:17 317
原创 卡尔曼滤波原在温度测量中的应用
卡尔曼滤波原在温度测量中的应用理论分析假设我们要研究的对象是一个房间的温度。根据经验判断,这个房间的温度大概在25℃左右,可能受空气流通、阳光等因素影响,房间内温度会小幅度地波动。我们以分钟为单位,定时测量房间温度。这里的1分钟,可以理解为采样时间。 假设测量温度时,外界的天气是多云,阳光照射时有时无,同时房间不是100%密封的,可能有微小的与外界空气的交换,及引入过程噪声W(k),其方差为Q,大小假定为0.01(假如不考虑过程噪声的影响,即真实温度是恒定的,那么这个时候Q=0)。 系统的状态和
2021-07-10 15:20:14 1179
原创 Matlab自学一本通之字符串处理函数
Matlab自学一本通之运算符2021年7月10日Matlab自学一本通之字符串处理函数 MATLAB 提供了大量的字符串函数,如下表所示。字符串函数函数功能eval(string)作为一个 MATLAB 命令求字符串的值blanks(n)返回一个 n 个零或空格的字符串deblank去掉字符串中后拖的空格feval求由字符串给定的函数值findstr从一个字符串内找出字符串isletter字母存在时返回真值isspace空格字
2021-07-10 09:49:17 954
原创 Matlab自学一本通之运算符
Matlab自学一本通之运算符2021年7月10日运算符 MATLAB 中的运算符分为算术运算符、关系运算符和逻辑运算符。这三种运算符可以分别使用,也可以在同一运算式中出现。当在同一运算式中同时出现两种或两种以上运算符时, 运算的优先级排列如下:算术运算符优先级最高,其次是关系运算符,最低级别是逻辑运算符。算术运算符 MATLAB中的算术运算符有加、减、乘、除、点乘、点除等,其运算法则如下表所示:算术运算符运算法则算术运算符运算法则A+BA 与 B 相加 (A、
2021-07-10 09:22:04 502
原创 Matlab自学一本通之基本矩阵操作
Matlab自学一本通之基本矩阵操作2021年7月9日矩阵和数组的概念及其区别 对矩阵的基本操作,主要有矩阵的构建、矩阵维度与矩阵大小的改变、矩阵的索引、矩 阵属性信息的获取、矩阵结构的改变等。对于这些操作,MATLAB 中都有固定指令或相应 的库函数与之相对应。 矩阵最早来自于方程组的系数及常数所构成的方阵,这一概念由 19 世纪英国数学家凯 利首先提出。 数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
2021-07-09 15:43:52 1413
原创 Matlab自学一本通之数据类型
Matlab自学一本通2021年7月8日数据类型 Matlab中的数据类型主要包括:数值类型、逻辑类型、字符串、函数句柄、结构体和**单元数组类型。 这6种基本的数据类型都是按照数组形式存储和操作的。另外,Matlab中还有两种用于高级交叉编程的数据类型,分别是用户自定义的面向对象的的用户类型和Java类类型。数值类型 基本的数值类型主要有整数、单精度浮点数、双精度浮点数。如下表所示:数据格式示例说明int8、uint8、int16、uint16、int32、uin
2021-07-09 12:40:31 1771
原创 STM32之字模软件的使用
字模软件的使用为方便后期LCD的学习,先做一个简单的字模学习。本实验是通过串口打印出我们想打印的字。打印一个16×16的字这里采取的取字模设置为如下所示:阴码:字模软件上有颜色的点处为:1;空白的点处为:0;阳码:字模软件上有颜色的点处为:0;空白的点处为:1;取模方式在取模颜色哪那里都有显示效果,这里不再讲解。每行显示数据,这里无关紧张,随便设置。取模走向,这里关乎取数据的问题,比如我这里用顺向,表示最前面的第一个是高位,最后面是低位。如果是逆向,表示最前面是低位,最后面是高位;输出
2021-07-04 20:13:55 5230
原创 STM32-串行FLASH文件系统FatFs
串行FLASH文件系统FatFsFatFs官方链接FatFs文件系统的源码可以从FatFs官方下载:官方链接http://elm-chan.org/fsw/ff/00index_e.htmlFatFs文件系统简介 FatFs是面向小型嵌入式系统的一种通用的FAT文件系统。它完全是由ANSI C语言编写并且完全独立于底层的I/O介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如8051、PIC、AVR、SH、Z80、H8、ARM等。FatFs 支持FAT12、 FAT16、FAT32等格式
2021-07-02 21:25:21 2723 2
原创 SPI-读写FLASH
SPI-读写FLASHSPI协议层 SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通讯总线。它广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。SPI物理层 SPI通讯设备之间的常用连接方式如下图所示: SPI通讯使用3条总线及片选线,3条总线分别为:SCL、MOSI、MISO,片选线为:SS#,他们的作用介绍如下:1、SS#(Slave Select):从设备选择信号线,常称
2021-07-02 12:51:28 7868
原创 IIC-读写EEPROM
IIC读写EEPROMI2C协议简介 I2C通信协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少、硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。I2C物理层它的物理层有如下特点: 1:它是一个支持设备的总线。“总线“指多个设备共同的信号线。在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。 2:一个I2C总线只使用2条总线线
2021-07-01 20:24:16 2871
原创 高级定时器之输入捕获应用(PWM输入捕获)
高级定时器-输入捕获应用(PWM输入捕获) 前面我们讲了用输入捕获测量了信号的脉宽,这一节我们讲输入捕获的一个特例—PWM输入。 普通的输入捕获可以使用定时器的四个通道,一路捕获占用一个捕获寄存器,而PWM输入则只能使用两个通道,即通道1和通道2,且一路PWM输入要占用两个捕获寄存器,一个用于捕获周期,一个用于捕获占空比。 在本实验中,我们用通用定时器产生的一路PWM信号,然后用高级定时器的通道1和通道2来捕获。硬件设计 实验中用到两个引脚,一个是通用定时器TIM3的通道1,即PA6,用
2021-06-30 12:06:07 4345 2
原创 高级定时器之输入捕获应用(测量脉宽)
高级定时器-输入捕获应用输入捕获一般应用在两个方面,一个方面是脉冲跳变沿时间测量,另一方面是PWM输入测量。测量脉宽或者频率测量频率 当捕获通道TIx上出现上升沿时,发生第一次捕获,计数器CNT的值会被锁存到捕获寄存器CCR中,而且还会进入捕获中断,在中断服务程序中记录第一次捕获(可以用一个标志变量来记录),并把捕获寄存器中的值读取到value1中。当出现第二次上升沿时,发生第二次捕获,计数器CNT的值会再次被锁存到捕获寄存器CCR中,并再次进入捕获中断,在捕获中断中,把捕获寄存器的值读取到va
2021-06-30 10:24:08 2504 1
原创 高级定时器之输出比较应用
高级定时器-输出比较应用PWM输出模式 PWM输出就是对外输出脉宽(即占空比)可调的方波信号,信号频率由自动重装载寄存器ARR的值决定,占空比由比较寄存器CCR的值决定。PWM1与PWM2模式的区别PWM1 递增 CNT<CCR,通道CH为有效,否则为无效。 递减 CNT>CCR,通道CH为无效,否则为有效。PWM2 递增 CNT<CCR,通道CH为无效,否则为有效。 递减 CNT>CCR,通道CH为有效,否则为无效。 下面我们以PWM1模式
2021-06-29 22:01:23 2161
原创 STM32之高级定时器
高级定时器基本框图时钟源高级控制定时器有4个时钟源可选:1.内部时钟源CK_INT。2.外部时钟模式1:外部输入引脚TIx(x=1,2,3,4)。3.外部时钟模式2:外部触发输入ETR4.内部触发输入(ITRx)内部时钟源(CN_INT)内部时钟CN_INT即来自芯片内部,等于72MHz,一般情况下,我们都是使用内部时钟。外部时钟模式11:时钟信号输入引脚 当使用外部时钟模式1的时候,时钟信号来自于定时器的输入通道,总共有2个,分别为TI1FP1和TI2FP2.2:滤波器
2021-06-29 20:01:55 5364 1
原创 STM32之基本定时器
基本定时器基本框架时钟源由于基本定时器只能选择:内部时钟。在STM32F103中,基本定时器:TIM6、TIM7挂载在APB1上,因此时钟本来是APB1的时钟频率值:36MHZ,但是请看STM32F103的数据手册的时钟树部分。从这里面,我们可以看到什么???就算我们画圈的部分,如果,时钟预分频系数是1,那么频率是在该总线频率的基础上×2,即36×2==72Mhz。为什么要知道这个值的大小?因为在配置库函数时,需要知道它挂载那个总线上,方便我们开启它的时钟,并且在配置计数分频因子和技术周
2021-06-29 17:01:52 942 1
原创 立创EDA学习---第三天
第十八课标准封装创建点击选项栏中的:文件按钮—>>>新建—>>>封装(在AD软件中就相当于PCB库)单位一般用的是mm(毫米)第十九课3D模型导入选项栏,文件—>>>新建—>>>3D模型第二十课PCB界面简单介绍选项栏,文件—>>>新建—>>>PCB铜箔层是代表你的板子的层数。第二十一课常用的PCB快捷键设置菜单栏中的,设置—>>>快捷键设置。第二
2021-04-25 13:51:08 3731
原创 立创EDA学习---第二天
第五课放置元件—器件第六课元件属性的编辑第七课元件的选择—移动—旋转以及镜像选中器件移动鼠标即可,或者在:“编辑”中找到“移动”旋转的操作:旋转元器件按键盘的“空格”即可旋转,或者在选择栏中找到“格式”中的旋转也可以。镜像操作:按键盘的“X”或者按键盘的“Y”即可。或者在选择栏中找到“格式”中的翻转也可以。第八课元件的排列和对齐选中元件,点击选择栏中的“格式”中的“对齐”方式即可。对齐网格是用于元件没有被吸附到网格上的时候的操作,[外链图片转存失败,源站可能有防盗链机制,建议
2021-04-24 22:30:20 4588
原创 立创EDA学习---第一天
立创EDA第一课关于如何建立原理图库进入立创EDA主页,点击“文件”—>>>“新建“—>>>”符号“。在立创EDA中,此”符号“就等同于AD软件中的”原理图库“上面就是建立一个普通的电容的原理图库的一个例子。如何找到我们创建的原理图库?如何更改原理图库的属性添加子库上面就是一个74HC01的主库!第二课创建符号向导然后点击进去符号向导中进行设置:第三课修改原理图的大小...
2021-04-23 15:22:06 978
原创 STM32CuBeMX___学习打卡1
STM32CubeMX关于生成代码就报错的问题现象如下:图1图2原因:::是因为我的生成路径上有中文字,也就是说 我生成的代码的文件夹名字叫做:STM32CubeMX_流水灯实验;这里面有中文字,所以会报错!!!只要图1中的Project name这里面不要包含中文字就不会报错!!!关于用STM32F4刚一生成代码,编译就报错的问题问题图片:解决办法:再次编译即可。解决后的现象图:实践1—SysTick1.在STM32CuBeMX中配置好时钟树,特别注意系统嘀嗒定时器的
2021-04-10 10:15:00 364
转载 2021/3/1+MATLAB+基本的数学运算与矩阵运算笔记
MATLAB基本语法变量1.MATLAB中的变量不需要声明2.使用 “ = ” 为变量赋值变量名1.与大多数编程语言相同,MATLAB中的变量名是大小写敏感的(也就是说大写A与小写a所代表的含义是不一样的)2.变量名只能由[ 09,az,A~Z, _ ]组成,且变量名不能以数字开头,例如2A就不可以称为变量名!保留变量不适合做变量名MATLAB中有一些变量有它的具体意义,不适合用作变量名。变量意义ans上一句的运算的结果(answer)i 和 j复数算子
2021-03-02 11:10:21 645
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人