自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OpenMv H7 口罩识别--毕业设计学习记录

口罩识别

2023-03-06 19:26:45 1046 1

原创 嵌入式软件笔试题--gaotuoxunda

嵌入式笔试题

2022-08-09 20:34:48 262

原创 51单片机期末--两机串口通讯

51单片机期末

2022-07-05 19:45:51 501 1

原创 简易数控直流稳压电压

摘 要:主控为STC15W408AS,调节PWM占空比控制BUCK电路的开关管通断,实现不同电压输出。采样反馈电压与设定输出电压通过PID控制器,输出设定电压。采样反馈电流作为过流保护,保护电路。12864液晶显示电压、电流、功率。关键词: STC15W408AS、BUCK、PID控制、12864...

2022-06-29 09:34:32 2017

原创 BQ24295电源管理芯片驱动

一、简介先读数据手册吧,欠下的英语还都还不完。https://www.ti.com/cn/lit/ds/symlink/bq24295.pdf?ts=16532250811653.9~4.6V USB输入电压100mA、150mA、900mA、1A、2A、3A。输入电流限值。寄存器操作:IIC Address: 6BH. REG00-07寄存器可读可写、 REG08-0A只可读。...

2022-05-25 14:00:16 1913 1

原创 SMT32F767通过STM32CUBE HAL库配置QSPI和W25Q256驱动

一、芯片管脚和MCU管脚、时钟时钟配置:二、生成QSPI的代码代码里面挺多备注了,不懂得再去刷一刷正点原子的视频吧,结合手册来看,来源都是正点原子的代码。头文件qspi.h#ifndef __QSPI_H#define __QSPI_H#include "stm32f7xx_hal.h"//QSPI功能配置u8 QSPI_Init(void);//QSPI 底层驱动 引脚配置 时钟使能void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)

2022-05-21 20:11:44 2835

原创 C语言实现-二分查找法

//二分查找法#include<stdio.h>int search(int* nums, int numsSize, int target);int towSearch(int* nums, int l, int r, int numsSize, int target);int main(){ int data[10] = {1,2,3,4,5,6,7,8,9,10}; printf("%d\n", search(data, 10, 9)); printf("%d", da.

2022-04-06 10:23:52 1159 1

原创 C语言--栈

#include <stdio.h>#include <stdlib.h>//链表struct List{ int data; struct List*next;};struct Stack{ struct List*head;//头结点 int size;};struct Stack*stackInit(){ struct Stack*stack=(struct Stack*)malloc(sizeof(struc

2021-12-16 22:01:42 788

原创 电力电子Simulink仿真-单相半波整流

写什么程序,狗都不写。。。。单相半波不控整流(电力二极管)1、添加powergui不管三七二十一做Simulink先把powergui(图形应用程序接口)拖到左上角2、找元器件3、连线(器件管脚带矩形是连接电路的,三角形是连接信号的,有方向)4、器件参数设置交流电压源参数设置:市电:电压Um最大值220*√2、频率f=50Hz4、二极管参数设置电力二极管参数,不懂就不要改它5、负载参数设置负载设置:只带阻性负载,电阻阻值为10欧姆。6、电压电流表示波器7、信号混

2021-12-11 19:23:15 2802

转载 C语言大数相乘算法

https://mp.weixin.qq.com/s/fdA7AUC8PfQmWZETiW-B8w#include<stdio.h>#include<string.h>#define charToint(a) (int)(a-'0')#define intTochar(a) (char)(a+'0')int main(){ char a[1000] = { "184467" }; char b[1000] = { "3709551615" }; unsigned

2021-12-11 17:04:08 645

原创 C语言--树结构

#include<stdio.h>#include<stdlib.h>//树节点typedef struct _Node{ int data; struct _Node* left;//左孩子 struct _Node* right;//右孩子}Node;//树根typedef struct _Tree{ Node* root;}Tree;//树中插入元素void insert(Tree* tree,int data){ //创建一个节点

2021-12-09 11:21:44 1164

原创 C语言作业--结构体

#include<stdio.h>//陈有乐 15号#include<stdlib.h>#include<assert.h>typedef struct _Book{ char title[30]; char author[20]; int pages; float prices;}Book;//typedef 起别名 Book换掉struct _Bookint main(){ Book book[4] = { {"Journey to t.

2021-12-07 22:51:01 148 1

原创 C++笔记

生活嘛~慢慢来,至于明天嘛,我再想想办法!!#include<iostream>#include<Cstring>#include<cstdlib>using namespace std;class Student{private: char name[20]; int age; int num;public: Student(int n, char* str, int s); ~Student(); void print(); void s

2021-12-07 22:26:14 108 1

原创 C语言--数组、指针学习笔记

#include<stdio.h>int main(){ int num[10] = { 1,2,3,4,5,6,7,8,9,10}; int new_num[10]; int m; int i=0; scanf_s("%d", &m); /*while (i<10) { if (i<10-1-m) { new_num[i] = num[i+m+1]; } else { new_num[i] = num[i-10+m+1];

2021-12-07 09:14:47 440

原创 C语言--结构体数组

#include<stdio.h>#include<string.h>#include<stdlib.h>struct student{ char name[20]; int age;};void print(struct student *stu){ int i=0; for(i=0;i<3;i++) { printf("%s %d\n",stu[i].name,stu[i].age); }} int main(){ s

2021-12-04 22:19:23 260

原创 C语言--结构体指针

#include<stdio.h>#include<stdlib.h>struct Info{ int age; int num;};//普通指针能做什么,结构体指针就能做什么//1、充当函数参数void print(struct Info* p){ printf("%d %d \n",p->age,p->num);}//2、充当函数返回值struct Info* creatInfo(int age,int num){ struct I

2021-12-04 21:58:23 750

原创 C语言--结构体变量

#include<stdio.h>#include<string.h>#include<stdlib.h>/* 结构体变量 1、了解结构体变量的赋值 1.1定义的时候初始化 1.2先定义后初始化 1.3用户输入方式初始化*/struct _student{ char name[20]; int age;}stu={"陈有乐",21};/*错误写法 因为有typedef 所以stu是别名 而不是变量typedef struct

2021-12-04 21:34:21 768

原创 C语言--初识结构体

#include<stdio.h>#include<stdlib.h>#include<string.h>/* 1、什么是结构体 结构体就是一种数据类型,自定义类型 2、如何定义一个结构体 2.1常规操作: struct 结构体名 { 数据成员; } 3、如何使用结构体 3.1结构体中的数据只能通过结构体变量去访问 3.2变量如何定义:类型 变量名; 结构体中:类型是struct+结构体名 3.3如何访问

2021-12-04 20:38:33 118

原创 C语言-大写字母查找

//统计字符串里面的大写字母#include<stdio.h>//陈有乐15号int main(){ int bigAlphaNum(char* s);//函数声明 char* s = "ABre34#!EF3T"; printf("大写字母个数:%d\n", bigAlphaNum(s)); system("pause"); return 0;}int bigAlphaNum(char* s){ int num = 0; do { if ((*s >.

2021-11-30 22:23:44 1732

原创 C语言-字符串拼接

//字符串拼接#include<stdio.h>//陈有乐15号#include<string.h>int main(){ char* new_strcat(char* a, char* b);//函数声明 char *a, *b; char* str; a = (char*)malloc(sizeof(char) * 20);//新开辟内存空间 1*20= 20个字节 b = (char*)malloc(sizeof(char) * 10);//新开辟内存空间.

2021-11-30 22:21:03 1170

原创 C语言-链表

#include<stdio.h>#include<stdlib.h>//malloc()#include<assert.h>#include"List.h"int main(){ List list;//定义一个链表 initLink(&list);//初试化链表 menu(); DATA item; while (1) { int select = 0; printf("选择想要的操作\n"); scanf("%d", .

2021-11-30 19:47:04 471

原创 C语言-指针基础

1、内存断电会丢失数据,电脑里面的内存条。硬盘断电不会丢失数据。2、指针指针到底是什么?->内存地址数据(变量)存储在内存里面,存储在内存那个位置?->由内存随机分配如何获取该变量的地址?->使用取地址符号&,就可以得到该变量的地址程序:获取变量的地址(是一个具体的值)#include<stdio.h>int main(){ int a = 1, b = 2, c = 3; printf("a的地址:%d,b的地址:%d,c的地址:%d",&amp

2021-11-25 23:03:50 438

原创 define和typedef区别

#define和typedef区别**在说区别之前,先看看下面定义了几个指针?int* p1, p2, p3;这下面定义了几个指针?#define INTD int*INTD p1, p2, p3;这个呢?typedef int* INT; INT p1, p2, p3;#define //宏定义命令宏替换?->宏定义好后,在程序中使用宏名就称为宏替换。定义 替换-> 顾名思义。#define INTD int*就是程序中出现int*标识符就替换成INTD字符

2021-11-25 21:26:34 353

原创 C语言-三维数组

#include <stdio.h>int main(){ //box[z][y][x] z:深度,y:行 x:列 //在四行四列的基础上,叠加四层 int box[4][4][4]={ //第一层 z=0 {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}, //第二层 z=1 {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}, //第三层 z=2 {{1,2,3,4}, {5,6,7,8}, {9,10,

2021-11-24 22:44:51 7265 2

原创 上位机UART&JDY-10M蓝牙组网

接着上次的写吧。。。解决了上次的问题,方向错了。一直认为需要用PC端的蓝牙再和蓝牙模块通讯。其实可以直接PC端插一个蓝牙模块做主设备,其它的做从设备。PC->串口->主模块->从模块(通过蓝牙之间组网的方式)一、PC端用python写上位机操作串口import serial# 设置串口参数ser = serial.Serial()ser.baudrate = 115200 # 一般比特率为115200bps 可以用AT+BAUD指令查询主模块ser.port =

2021-11-20 23:23:10 4177

原创 JDY-10M串口调试、焊接问题总结

一、底板没啥用,需要功能要自己焊接引出来(下图不是本人焊的,本人太辣鸡不得行)引出了OUT1、OUT2、OUT3 三个功能管脚和一个K1输入管脚。输出管脚可以控制LED灯、继电器,输入管脚可以识别按键二、发功能数据是hex和不要回车功能管脚可以控制OUT输出高电平或者低电平,具体数据可以去看JDY-10M的数据手册三、发AT指令时需要回车,不需要hex发送一定要注意这些傻逼小细节,要不然你会傻傻的以为是串口线的问题四、串口通讯线的RX和TX一定要与蓝牙模块的RX和TX相反,不行的话就换

2021-11-16 21:02:16 2313 1

原创 堆(Heap)

使用堆来实现优先队列优先队列:就跟有优先级的队列,那个重要先执行那个二叉堆(Binary Heap) :跟二叉树一样满二叉树:所有的叶子节点都是满的完全二叉树:叶子节点不一定满最大堆:堆中某个节点的值不小于其父节点的值。最小堆:堆中某个节点的值不大于其父节点的值。...

2021-11-08 00:21:56 249

原创 希尔排序(Shell Sort)

每天一点小知识,快乐你我他。电力电子人家都开始复习了,我还没预习呢。。。。上动图:不断的分组,颜色一样的为一组,同组进行插入排序把两个相同颜色的元素归为一组,然后进行插入排序,小的在前,大的在后面第一轮使用分组和插入排序后的结果第二轮把分组的距离缩短一半,再继续进行插入排序,相同颜色为一组第二轮结果第三轮跟第一轮做法一样,分组缩短一倍,插入排序,相邻的为一组结果排好序了实现步骤://第一轮代码(第一版),由这个来改变循环的轮数从而让程序成功public static &lt

2021-11-07 18:07:26 151 1

原创 微积分的本质

一、概论圆的面积为什么等于πrr?圆的周长等于2πr。(为什么呢?)为了求圆的面积,我们把圆剪成一个一个环,这符合数学的对称性,而当数学复合对称性时,数学往往会给你奖励圆的面积等于每一个圆环的面积相加每个圆环的面积等于每个圆环拉直的长度(2πr)*每个圆环拉直的厚度dr把每个圆环都排在坐标轴上把dr看的非常非常小时就可以计算出圆的面积求圆面积时,我们运气比较好,得出来面积正好对应着三角形的面积如果是其他曲线对应的面积呢?如抛物线,x^3?A(x)表示图中的面积与x的关系,x变化时

2021-11-06 22:39:19 578

原创 二分搜索树(Binary Search Tree )

树结构:就是和现实中的树一样一个树根开出很多枝叶树倒过来:二叉树:只有两个枝杈的树。(多叉树)1、具有天然的递归结构2、二叉树不一定是满的3、二分搜索树是二叉树4、二分搜索树的每个节点的值:大于其左子树的所有结点的值小于其右子树的值5、存储的数据必须要有可比较性(“凡事都有代价,出来混迟早要还的”)还是不太理解。。。。public class BST<E extends Comparable<E>> { //节点类 private cla

2021-11-06 17:36:03 341

原创 二分查找法(Binary Search)

上动图:基于有序数组不断二分递归查找取中间的元素与想要查找的元素对比如果相等返回中间的数,如果小于中间的数就在左边查找如果大于中间的数就在右边查找public static <E extends Comparable<E>> int search(E[] data,int l,int r,E target){ if (l>r)return -1;//数组中没有元素 int mid = l+(r-l)/2;//取中间元素的索引 0

2021-11-06 11:08:57 116

原创 快速排序(Quick Sort)

快速排序:选择一个数,大于这个数的在右边,小于这个数的在左边不断地用递归的方法去实现上动图: public static <E extends Comparable<E>> void sort(E[] data,int l,int r){ //求解最基本的问题 if (l>=r)return ;//当数组里面没有元素或者元素为一个时,就不用排序 // <4 4(data[p]) >4

2021-11-05 23:25:54 63

原创 插入排序(Insert Sort)

上动图:插入排序: public static <E extends Comparable<E>> void sort(E[] data){ for (int i=1;i<data.length;i++){ for (int j=i-1;j>=0;j--){ if (data[j].compareTo(data[j+1])>0){ swap

2021-11-05 00:26:54 68

原创 归并排序(Merge Sort)

上动图:所有元素不断地拆成两份,拆到最小的只剩两个,然后就进行排序,不断往上排序复合。分治法和递归思想。这玩意好像有点难理解。。。。 //归并排序,递归和合并 public static <E extends Comparable<E>> void sort(E[] data,int l,int r){ if (l>=r)return ;//求解最基本问题 int mid=(l+r)/2; //对data

2021-11-04 17:29:04 94

原创 选择排序--哦哦哦

啥也不是,先上链接:https://www.cnblogs.com/onepixel/articles/7674659.html再上动图后上代码:代码由简到繁

2021-11-04 13:16:15 58

原创 冒泡排序--你学废了吗?

这玩意学了好久了还是不会。。。。。。public static <E extends Comparable<E>> void sort(E[] data){ for (int i=0;i<data.length;i++){ //data[n-i,n)已排好序(第一层循环变量i表示的是后面已经有i个元素排好了) //通过冒泡在data[n-i-1)位置放上合适的元素(j变量不断从数组开头索引对比交换)

2021-11-03 22:46:24 106

原创 数据结构--单链表

脑子瓦特了。。。。啥也不是#include <stdio.h>#include <stdlib.h>typedef struct { int num; int score; struct Node* next;}Node,*Linklist;//头插法Linklist creatH() { Node* L; L = (Node*)malloc(sizeof(Node)); L->next = NULL; /*Node* r; r = L;*/

2021-11-03 00:13:25 65

原创 2021-11-01

好像今天是万圣节哦当面对一个人收放自如,牵动不起你的情绪时,那证明是真的忘记了,用了好长时间啊。(但好像每天晚上都要回忆,回忆比经历还长,苦笑~哈哈哈)为什么每次开心之后就有一种空漏漏的感觉啊。...

2021-11-01 00:01:16 67

原创 电力电子技术-第二章电力电子器件--功率二极管

一、学习目录视频链接:https://www.bilibili.com/video/BV1v7411j7VV?p=6自己看:PN结->功率二极管->功率二极管静态、动态特性本征半导体:硅原子最外层4个电子都稳定存在本征激发:温度升高,电子乱跑,留下空穴N型半导体:本征半导体加入磷元素,磷的元素周期表编号为15,最外层电子为5,4个电子参与共价键,剩下一个电子乱跑本征半导体掺杂高浓度的磷,就有好多电子了。为什么叫N型呢?因为许多电子带负电,负(negative)P型半导体:本

2021-10-28 22:01:55 485

原创 MATLAB2017安装步骤

一、安装包中的文件说明,下载Matlab2017a_WIN64链接:https://pan.baidu.com/s/1Oo3oRxoiM23nJgHFu8BtqA 密码:0ie5二、两个镜像(相当于压缩包),先装载(解压)dvd1三、点击安装四、弹出的安装页面五、当安装到72%左右时,会停止等待需要加载(装载)dvd2镜像六、然后回去点击安装页面的确定,但是有时候会不行,你可以先弹出再装载七、改磁盘号,不断的改不同的磁盘号,不行再弹出,再改磁盘号八、点击确定之后就

2021-10-23 23:23:04 4541

空空如也

空空如也

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

TA关注的人

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