自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 数据结构(自用)

数组与链表数组数组一般存储相同类型的数据,由连续的内存进行存储数组非尾部的插入和删除比较复杂,因为还涉及其他所有项的移位数组无法动态扩容(大小无法改变)我们把数组称为顺序表链表链表查询的特点是从头开始依次(顺着指针域)查询,导致了效率低;链表的插入很快,但搜寻就很慢单链表的删除需要知道:要删除的结点和上一个结点(前驱),需要对前驱的指针进行变更头结点相当于一个固定的入口,不存储有意义的值小总结从下面可以得知,当进行查询操作用数组,插入和删除操作用链表跳表跳表(SkipList,全

2022-01-24 12:11:45 268

原创 无刷电机FOC控制(自己的理解,不一定正确,仅供参考)

无刷电机概念辨析无刷直流电机无刷减速电机直流无刷减速电机1.减速:减速电机是指减速机和电机(马达)的集成体。这种集成体通常也可称为齿轮马达或齿轮电机。2.无刷:无刷是直流电机的一个种类(直流电机分无刷和有刷)。常用的是有刷,无刷和有刷区别自行百度。3.直流:电机在直流电下工作,与异步电机、同步电机在交流电下工作形成对比4.电机:电机这个词本身指的是电动机、发动机和原动机等“动力设备”,不是单指电动机。生活中,我们所谓的电机绝大部分指的就是电动机。5.马达:电机和马达是一个东西,马达是俗称

2021-11-30 16:42:14 13003 2

原创 无刷电机与有刷电机

笔记来源无刷电机(油管)有刷电机(油管)无刷直流电机有刷直流电机运作时容易产生火花,不适应于长时间、高性能工作无刷直流电机的转子是永磁铁对线圈通直流电,线圈励磁成为电磁铁,它的运转基于永磁铁和电磁铁间的相互作用运动的是转子,转子是在线圈外面一圈,是永磁铁在转转子↓缺点,只有一组线圈励磁,另外两组没有作用,功率很低然后我们就想了一个办法去增强功率法1:当转子到了一个线圈后,我们再对转子后面的一个线圈通电,目的是推动转子。对第二个线圈通相同方向的电流,产生叠加,产生更大转矩和输出功率

2021-11-27 13:24:53 1120

原创 用MATLAB画线段(简单说)

前言在网上找了很多相关的,但始终不大满意,所以就自己写一个,其实问题最终也没有解决,我的希望是用已知的两个点画一条直线,然后这条直线是无限长的,我拖拽窗口可以显示,但是最终用"3"解决,只能说够用,是一个遗憾吧。代码解释下面都是在命令行窗口使用的,没有去曲线拟合的APP使用,因为那个不能拖拽,很不爽1.line([1 1],[1 2]); //用两个点画线,画出来的是线段。注意有时候太大了就不会显示了,我不知道为什么 2.line(x,y);plot(x,y); //单独使用两者作用相同

2021-09-18 20:07:08 16609

原创 使用MATLAB进行曲线拟合(只说如何用)

曲线拟合关于曲线拟合的意义我在最后给一个链接,下面只简单介绍如何使用1.首先在命令行窗口输入数组,x,y2.找到APP按钮→curve Fitting(曲线拟合的英文)3.点开后x和y就选择刚才输入的数组就好,右边的选项意思是你要用什么算法进行曲线拟合,下面展示的是所有方法的中文释义一般情况下我们选择“指数逼近”和“多项式逼近”这两种就够用了结束用到的资源:MATLAB曲线拟合工具箱曲线拟合_百度百科...

2021-09-18 10:34:28 12423

原创 C|如何将字符数字变成值相同的整数

把字符转换成值想通的整数需要用字符减去字符’0’往往这里的转换还需要用到isdigit函数进行if判断,isdigit(s)作用检查s是否是数字0到9char a = '1';int b = a - '0' ;相关资料

2021-08-27 10:44:17 558

原创 对逐飞总钻风和龙邱神眼摄像头引脚的解读

逐飞总钻风龙邱神眼(MT9V034)行中断:其实两者都有点像使能位的感觉,都是一个许可。图像头在数据采集时发送行中断信号,作为可接受这一行数据的许可场中断:场中断信号是图像信息开始的标志行中断与场中断像素时钟:只要是数字信息处理电路就必须要有时钟,而像素时钟的个数要与图像一行的像素点的个数相同,时钟相当于脉搏,是一个外设必备的IIC总线SCL和SDA:这两根线都是I2C总线的信号线数据口:用8位是因为里面的寄存器的位数...

2021-08-12 14:30:26 4831 2

原创 使用STC16F和STC8H的keil版本须知

keil版本STC16F使用的keilC251,STC8G使用的是keilC51因为两者的快捷启动方式的图标是相同的,都是所以我们就要通过看开启keil后的启动图标来识别,下面展示的图标,第一个是C51,第二个是C251,在知道后我们可以把快捷启动方式的名字改成C51和C251方便区分...

2021-08-11 11:08:19 2590

原创 对龙邱科技TC264库的理解

命名规则写工程时,到每个对应的.h里面找要用的函数人机交互模块:★OLED:OLED里面可以更改显示的中文,只不过要注意这里用的十六进制形式,可以通过PctoLCD2002去生成中断★GPIO:外部中断★GPSR:软件中断信息获取模块★CAMERA:摄像头控制模块★GTM:PWM相关控制在GTM的文件内(LQ_GTM.c)★GPT12_ENC:计数器具体功能模块★Imageprocess:图像...

2021-08-02 11:57:30 2079

原创 图像处理原理(入门)

图像处理原理1.一幅图像实际上记录的是物体辐射能量的空间分布,空间分布表示为函数I(x,y,z,λ,t),空间坐标、波长和时间,当图像为平面单色静止图像时,波长和时间可以去掉,只剩下空间坐标,甚至因为平面,z也去掉,用二维函数f(x,y)表示2.单色图像,它的图像值为灰度级,正比于光源的辐射能量3.数字图像可以理解为对二维函数f(x,y)进行采样和量化(离散处理)后的图像,所以二维矩阵可以表示一幅数字图像。所以给我们一张图片,我们对它进行数字化就是用计算机生成二维矩阵。三步走,扫描→采样→量化遍历扫

2021-07-27 09:53:39 2225

原创 Qt5.9.4下opencv编译error:Noopencv2\opencv.hpp: No such file or directory(无法打开包括文件)

错误的原因是戏剧性的,Qt是一个高度依赖路径,其实很多软件都是如此。windows的手动去“我的电脑”找目标文件路径在D:xxx这个xxx前是没有/的,而这里是需要的,要改为D:/xxx。这个地方↓↓↓...

2021-07-26 13:33:35 2237

原创 我眼中的PID

我眼中的PIDPID控制技术是在控制领域里很经典一种闭环控制技术。因为它足够简单但又有效,所以被广大学者学习使用。开环是没有存在反馈调节的(反馈由编码器实现),闭环是有的,所谓的反馈调节以加热水为例,目前20度,目标100度,差80度要加热快一点,而当80度的时候要加热慢一点。所谓PID,即比例Proportion、积分Integral 和微分Derivative 三个单词的缩写。PID又分为位置式和增量式,位置式PID: 增量式PID: 常用:转向用位置式,控速用增量式(不绝对),其实很多时候

2021-07-24 20:13:31 1422

原创 (C)读入若干行字符(每行不超过80个),写入到文本文件中

要注意的是输入的时候需要手动结束按住Ctrl+Z,再按回车#include<stdio.h>int main(void){ int i,N=0; char c[81]; FILE *fp; /*文件处理的过程为打开文件→读、写文件→关闭文件*/ fp=fopen("E:\\a.txt","w"); //打开的文件地址,以只写形式,若已存在则刷新已有文件 /*读入若干行不用for,for是指定次数的输入,转而采用while*/ while(gets(c)){

2021-06-28 17:28:16 796

原创 (C)编制函数,在主调函数的一维数组中查找最大值及该元素下标、最小值及该元素下标

#include<stdio.h>int main(void) //主调函数 { int b[999]; int n,i; int max,k; void findmax(int *a,int n); void findmin(int *a,int n); printf("请输入你要测试的数字个数\n"); scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&b[i]); findm

2021-06-13 17:01:22 3185

原创 (C)(指针)编制函数,输入十个数,按绝对值从小到大排序后输出

#include<stdio.h>#include<math.h>int main(void){ int i,j,k,a[11],temp,*p=a; //初始化指针 ,a是数组首地址 for(i=0;i<10;i++){ scanf("%d",p+i); } for(i=0;i<9;i++){ k=i; for(j=i+1;j<10;j++) if(fabs(a[j])<fabs(a[k])) k=j; temp

2021-06-13 15:52:59 2851

原创 (C)编制函数,接受从主调函数传入的、有n个元素的一维数组的地址,对该数组按绝对值从小到大排序

#include<stdio.h>#include<math.h>/*主函数用于传入指针的地址数据*/int main(void){ void sort(float a[],int n); //自定义函数在主函数后面的情况下需要声明 int i,n; printf("请输入数组的长度\n"); scanf("%d",&n); float b[999]; for(i=0;i<n;i++) scanf("%f",b+i); sor

2021-06-11 21:25:58 1210

原创 (C)输入4行字符,每行不超过60个字符,将其中所有的字符‘$’改作‘S‘

#include<stdio.h>#include<string.h>int main(void){ char str[4][61],temp; int i,j; for(i=0;i<4;i++) while(gets(str[i]), strlen(str[i])<1); for(i=0;i<4;i++) for(j=0;j<=strlen(str[i]);j++) { if(str[i][j]=='

2021-06-11 20:05:02 2136

原创 (C)输入一个字符串(串长不超过60),删除字符串中所有的空格符

#include<stdio.h>int main(void){ char a[61],b[61]; int i,j=0,k=0; gets(a); for(i=0;i<61;i++) { if(a[i]!=' ') { b[k]=a[i]; k++; } } puts(b);}

2021-06-11 20:02:59 2076

原创 (C)输入一个5行、6列的数组,将每1行的所有元素都除以该行上绝对值最大的元素,然后输出数组

#include<stdio.h>#include<math.h> //绝对值函数在math头文件里面包含了,abs和fabs都是求绝对值的现成函数,abs用于int,fabs用于double(指返回值)int main(void){ double a[5][6],max[5]; //max长度为行数,每一行存一个 int i,j; //i是行,j是列 max[0]=a[0][0]; /*******************输入*************/ fo

2021-06-09 15:33:42 1638

原创 (C)什么是同构数

什么是同构数:比方说一个数x,x的平方的后几位和x是一样的。例:5的平方25,尾部为5,而原数一样;6的平方36,尾部6和原数6一样。例题:输出1到5000内的同构数#include<stdio.h>int main(void){ int i,x; //同构数:它本身的平方后,尾部值也为它本身 for(i=1;i<=5000;i++){ x=i*i; if(x%10==i||x%100==i||x%1000==i) printf("%d\n",i);

2021-04-25 15:38:49 588

原创 输入三个数,比较绝对值大小,按原值输出

C的一道作业题感觉逻辑不是很复杂,但是我在上机的时候反复做,还是没有做出来,现在把它放在这,这只是其中一种方法。#include<stdio.h>#include<math.h>void main(void){ int a,b,c,x,y,z,min,mid,max; scanf("%d%d%d",&a,&b,&c); x=fabs(a); y=fabs(b); z=fabs(c); if(x>=y) { max=a;

2021-04-03 11:10:29 971

原创 UART

UART别称:通用异步收发器是一种通用的串行、异步通信总线,可以实现全双工的发送和接收。串行通信:总线(相当于导线),传递高低电平信号(电信号)计算机通信分为:串行通信和并行通信,并行通信是同时发送8位(通过八根线),串行通信是一位一位发送(一根数据线)。并行速度快,用的资源多,布线更难,又存在信号干扰的问题。数据传输的方向:单工通信和双工通信单工通信:只能发射器给接收器信号;双工通信又分别半双工和全双工,两者都是双工,可以实现数据收发,通过把发射器和接收器放一起组成一块来实现半双工:A

2021-03-29 23:21:18 110

原创 PN结

教材:P29开始,教材是模电(童诗白)笔记:1.当把N型半导体和P型半导体,这两种杂志半导体混合在一起使用时,引入了PN结的概念;2.PN结也叫耗尽层、隔离层,(形象的理解为打仗打完后的凄凉的战场,战斗双方不再介入,谁想进去都不可以)3.因为PN结的存在,半导体从导电变成了不导电;4.PN结特性:单向导电性,加正向电压导通,反向电压截止(因为内外电场的方向);5.由PN结又引出了半导体二极管;资料一:PN结的形成原理...

2021-03-29 15:51:35 237

原创 MOS管(自用)

场效应管(场效晶体管)(FET)笔记:1.导电:只有1种粒子(多子)参与导电,所以温度稳定性好得多2.主要分两类:①结型场效应管:不用加沟道,天生就导通②绝缘栅型场效应管(使用较多):很多时候可以替代“结型”;它还有一个别名MOSFET“金属氧化物半导体场效应晶体管”,简称MOS管;在它的基础上,人们构造出了CMOS电路,计算机的biog里面有个CMOS设置;一、N沟道增强型MOS管:说直白一点是一个可通过调节电压来控制它的电阻大小的可变电阻器二、N沟道耗尽型MOS管:知识来源(bz

2021-03-28 23:32:53 251

原创 C语言学习记录(学校上课版)

书:C程序设计基础 浙江科学技术出版社第二章——基本数据类型与常用库函数:转移字符表和ASCII表大致要知道,要考对于字符,单引号内表示单个字符,如:‘a’,双引号表示字符串,如“a”,格外注意,单个字符也可作为字符串,因为里面默认有个/0的存在1个字节包含8个位char类型占8个位,short占16位,int、long占32位,它们前面加unsigned并不改变数据长度,只是数值范围没了负数整型数据的数值范围需要掌握,包含科学计数法版本和精确数字版本,除了unsigned long的精确数字

2021-03-11 22:07:34 203

原创 ubuntu18.04安装后再安装所需插件遇见的问题(自用)

ubuntu18.04安装后再安装附带的一些插件遇见的问题1.zlib:安装zlib时,sudo中的zlib1g,是1g,不是lg2.每次开机如何进入ubuntu(联想R7000)点击电源键后进入的紫色界面,选择第二个选项(ubuntu高级选项),然后一直按回车,不论弹出来什么,再等会,就可以进入ubuntu系统了。别点第一个ubuntu。...

2021-02-26 09:13:01 449

原创 电脑主键盘的“/”与小键盘的“/”keycode不同

C++学习中遇到的问题使用的软件:Dev-C++ 5.11在用快捷键ctrl+/,想要直接对一行进行注释的时候,发现这个“/”,我在使用小键盘的“/”时,电脑是无法识别这个快捷键的,必须要主键盘的“/”,可以变问号那个。经讨论,得到初步结论,这两个键的keycode是不一样的,就好像电脑有多个相同的键表示相同的意思(即输出相同的结果),也许是因为电脑的快捷键只识别主键盘的“/”。...

2020-09-01 08:53:00 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除