自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (8)
  • 收藏
  • 关注

原创 AD7606使用

AD7606使用使用STM32F407开发板ad7606.h文件#ifndef _AD7606#define _AD7606#include "sys.h"/****************@xg*关于ADC接线* AD7606接线 STM32F407VET6* OS0-2 直接接地 * RANGE 测量量程选择 B12* CA(CB

2021-04-23 12:22:50 732

原创 Qt串口丢数据解决方案

背景:采用Qt编写双串口子线程接收高速大量数据(921600bps,底层数据发送率是1000Hz,一帧数据16字节),当底层数据缓冲区长度不定的时候,Qt上位机接受数据容易出错。解决方案:1.接受采用队列作为缓冲区,剔除错误数据;2.固定底层数据缓冲区,上位机和底层完成缓冲区一致对接。...

2020-10-14 18:10:09 2713 4

原创 手撕代码系列7 -- 堆排序

原理构建最大堆,每次把极值移到未排序数组的最后一位,直至全部有序手撕代码void down(vector<int> &vec,int l,int j) //重建大顶堆{ //排序 [l,r] int i = l; int temp = vec[i]; for(i = 2*i+1;i<=r;i = 2*i+1) { if(i+1<=r && vec[i]<vec[i+1])

2020-09-02 17:03:59 177

原创 手撕代码系列6 -- 快速排序

原理找到一个值,使得数组左边的值全部小于它,数组右边的值全部大于它;手撕代码void quickSort(vector<int> &vec,int l,int r){ //排序边界[l,r]if(l<r){ int i = l,j = r; int temp = vec[i]; while(i<j) { whie(i<j && j>temp) {

2020-09-02 16:42:58 179

原创 手撕代码系列5--希尔排序

原理希尔排序,是对插入排序的一种改进,先分组有序,再全体有序;手撕代码void shellSort(vector<int> &vec){ int len = vec.size(); int j = 0; int gap = len;//分组 do{ gap = gap/2;//这个策略可以修改,改善时间复杂度 for(int i = 0;i<gap;i++) //每一个分组排

2020-09-02 16:30:19 123

原创 手撕代码系列4 --直接插入排序

原理将数组分为两个部分,有序数组和无序数组,每一轮将无序数组里面的元素插入有序数组中手撕代码系列void insertSort(vector<int> &vec){ int len = vec.size(),ele; for(int i = 1;i<len;++i)//从下标1开始,插入 { ele = vec[i]; for(int j = i-1;j>=0;j--) {

2020-09-02 10:57:30 101

原创 手撕代码系列3 -- 快速排序

原理1.从数组中选择一个基准值2.比基准值小的放在左边,比基准值打的放在右边,最后退出的时候,基准值则位于数组中间3.对基准值左边进行排序,对基准值右边进行排序.手撕代码void quickSort(vector<int> &vec,int start,int end){ if(start<end) { int i = start, j =end; int ele = vec[start]; w

2020-09-02 10:39:45 107

原创 手撕代码系列2--冒泡排序

原理每一次遍历,将未排序数组的最大值放在未排序数组的最后手撕代码void BubbleSort(vector<int> &vec){ int len = vec.size(); bool flag = false; for(int i = 0;i<len-1;i++)//对n-1个元素排序 { for(int j = 1;j<len-i;j++) { flag = fals

2020-09-02 10:20:27 173

原创 手撕代码系列1--选择排序

原理从未排序区域选择一个最小值(最大值)放到开始位置(已排序的最后位置或者未排序的开始位置)。手撕代码void BubbleSort(vector<int> &vec){ /*数组长度*/ int len = vec.size(); for(int i = 0;i<len-1;++i) { int index = i;//当前未排序开始位置 for(int j = i+1;j<len;j++){

2020-09-02 10:05:16 86

原创 leetcode LC146 最长不重复子串

题目:从一个字符串中找到一个连续子串,该子串中任何两个字符不能相同,求子串的最大长度并输出一条最长不重复子串。思路:利用map表hashtable[256]来保存出现过的字符,然后从头开始遍历字符串,1、如果当前字符ch已经出现过(hashtable[ch]==1),则表示一个局部最长不重复子串已经出现:此时更新子串长度,同时更新最长子串的起始位置start。同时将start到重复字符ch之间的map表重置为0(表示没有出现过)然后从ch的下个字符作为新的子串的开始;2、如果当前

2020-08-31 19:47:40 114

转载 leetcode每日一道(6):求给定的二叉树的后序遍历

1. 题目题目描述求给定的二叉树的后序遍历。例如:给定的二叉树为{1,#,2,3},1↵ ↵ 2↵ /↵ 3↵返回[3,2,1].备注;用递归来解这道题太没有新意了,可以给出迭代的解法么?2. 思路2.1 递归我们先考虑一下递归的思路,从三种遍历来看(前序、中序、后序),都是可以通过递归来实现的,只需要不断调用自身函数,但是问题就是带来的空间复杂度太高。因此最好的方案是迭代。2.2 迭代如果是前序遍历,我们的顺序是根节点,左节点,右节点。如果我们用一个栈来实现,可以这样考

2020-08-30 19:54:11 117

原创 MYSQL(二) 数据库类型详解

MySQL的数据类型有大概可以分为5种,分别是整数类型、浮点数类型和定点数类型、日期和时间类型、字符串类型、二进制类型。 整数类型 类型名称 存储需求 有符号 无符号 TINYINT 1BYTE -128~127 0~255 SMALLINT 2BYTES -32768~32767 0~65535 MEDIUMINT 3BYTES -8388608~8388607 0~16777215 INT(INTEGE..

2020-08-30 17:59:17 133

原创 MYSQL(一) 数据库表基本操作

数据库安装 安装教程:https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html 数据库基本操作 1.开启数据库的命令net start mysql2.进入mysql的两种方式明文进入: mysql -uroot -proot 格式:mysql -u账号 -p密码密文进入:mysql -uroot -p 按enter会提示你输入密码(Enter pssword:),此时你写的密码就...

2020-08-30 11:30:17 639

原创 网路 TCP

传输控制协议TCP TCP最主要的特点 TCP是面向连接的运输层协议。这就是说,应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。 每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。 TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。 TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存

2020-08-29 20:48:26 226

原创 网络 UDP简介

用户数据包协议UDP UDP特点 UDP是无连接的,即发送数据前不需要建立连接。 UDP使用尽最大努力交付,即不保证可靠交付。 UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。 UDP支持一对一、一对多、多对一和多对多的交互通信。 UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。 UDP的

2020-08-29 20:10:24 698

16channel_uppper_software.rar

界面编程,上位机,实时解析底层发来的数据并绘图,采用多线程技术(方式1和方式2),子线程接受数据,处理子线程处理数据,UI界面绘图。最后实现8通道肌电仪数据解析并实时绘制肌电仪的数据

2021-06-15

网卡驱动问题(主要是无线网卡),设备管理器里面代码错误号是56

该文件是本人全部尝试过的解决方法(没有试过硬件损坏的情况),最终解决了错误代码56的情况,主要包含了5种方法,注意,此5中方法顺序不作任何要求,希望能帮助各位解决问题。

2020-05-18

AD7606接收程序(6通道).zip

基于STM32F407的数据采集,利用AD7606采集8路模拟电压传给上位机,已实现6路信号准确采集,另外8路信号做过测试,成功!

2019-09-16

神经网络与机器学习(第3版).pdf

机器学习经典教材 高清扫描版

2019-05-10

惠承HC-08蓝牙资料

包含HC-08先关的资料:串口助手,文档资料,安卓软件,安卓源代码

2019-01-04

基于安卓蓝牙的远程控制照明系统

通过安卓手机远程控制照明灯,此部分为安卓程序部分!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2018-07-10

空空如也

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

TA关注的人

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