雨露均沾的知识
文章平均质量分 67
了解了解这个,了解了解那个。。。感觉学的很乱,要好好整理一下文件夹了。
桃子酱紫君
摸鱼中。。。
展开
-
网页学习-小试牛刀
学习目的是制作遥控车控制网页界面原创 2023-04-18 12:31:56 · 950 阅读 · 2 评论 -
PCL_4---k-d tree 与八叉树
标题一、k-d tree 实验代码实验结果主要记录源码,加上了一些自己的理解。一、k-d tree 实验代码#include <pcl/point_cloud.h>#include <pcl/kdtree/kdtree_flann.h>#include <iostream>#include <vector>#include <ctime>int main (int argc, char**argv){ /* 创建点云对象转载 2021-04-21 14:05:00 · 225 阅读 · 0 评论 -
PCL_10---3D点云特征描述与提取
标题估计一个点云的表面法线代码实验结果估计一个点云的表面法线代码#include <pcl/io/io.h>#include <pcl/io/pcd_io.h>#include <pcl/features/integral_image_normal.h>#include <pcl/visualization/cloud_viewer.h>#include <pcl/point_types.h>#include <pcl/fea转载 2021-06-05 20:24:32 · 467 阅读 · 0 评论 -
PCL_6---点云滤波
标题1、直通滤波器对点云进行滤波代码实验结果经典滤波算法:双边滤波高斯滤波条件滤波直通滤波基于随机采样一致性滤波1、直通滤波器对点云进行滤波代码#include <iostream>#include <ctime>#include <pcl/point_types.h>#include <pcl/filters/passthrough.h>int main (int argc, char** argv){ srand(转载 2021-04-24 10:48:13 · 731 阅读 · 0 评论 -
PCL_5---可视化
标题1、简单点云可视化代码实验结果1、简单点云可视化代码#include <pcl/visualization/cloud_viewer.h>#include <iostream>#include <pcl/io/io.h>#include <pcl/io/pcd_io.h> int user_data;//可视化对象的一些简单操作 放入的线程只调用一次void viewerOneOff (pcl::visualization转载 2021-04-22 20:16:17 · 570 阅读 · 0 评论 -
PCL_13---点云曲面重建
标题相关算法入门实验多项式平滑点云及法线估计的曲面重建相关算法凸包算法Ear Clipping 三角化算法贪婪投影三角化算法移动立方体算法泊松曲面重建算法pcl中的surface模块:17个类、2个函数。入门实验多项式平滑点云及法线估计的曲面重建重采样、平滑方法:移动最小二乘法。目的:使法线方向更准确,曲率特征方差更小。代码#include <pcl/point_types.h>#include <pcl/io/pcd_io.h>#include转载 2021-05-30 15:01:10 · 3490 阅读 · 0 评论 -
PCL_8/9---关键点和采样一致性
标题1、NARF关键点代码实验结果1、NARF关键点代码/* \author Bastian Steder */#include <iostream>#include <pcl/range_image/range_image.h>#include <pcl/io/pcd_io.h>#include <pcl/visualization/range_image_visualizer.h>#include <pcl/visualizati转载 2021-04-29 10:42:40 · 142 阅读 · 0 评论 -
PCL_7---深度图像
标题1、从一个点云创建一个深度图像代码实验结果2、从深度图像提取边界代码实验结果由于这是参照书上学习的,自己的理解都记在书上了,本文只为方便后期复制使用。1、从一个点云创建一个深度图像代码#include <pcl/range_image/range_image.h> //深度图像头文件int main (int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ> pointCl转载 2021-04-25 15:40:56 · 349 阅读 · 0 评论 -
第一章 最优化建模与计算
目录1.2 最优化建模1.2.1 概要1.2.2无约束规划1.2.3 约束优化-线性规划1.2.4 约束优化-非线性规划1.2.5 约束优化-整数规划1.2.6 约束优化-单目标与多目标优化1.2.7 约束优化-动态规划1.2.8 网络优化和图论建模1.2.8.1 图论基础1.2.8.2 树和最小生成树1.2 最优化建模1.2.1 概要1.2.2无约束规划一元函数极值:可能只是局部极值如:多元函数极值:如:1.2.3 约束优化-线性规划模型:条件都是线性函数。如:1.原创 2021-08-21 21:17:15 · 901 阅读 · 0 评论 -
简答题---C语言
C1.预处理&关键字1.预处理&关键字1.1 宏定义是在编译的哪个阶段被处理的?答案:宏定义是在编译预处理阶段被处理的。解读:编译预处理:头文件包含、宏替换、条件编译、去除注释、添加行号。1.2 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。答案:“标准”宏#define MIN(A,B) ((A)<=(B)?(A):(B))解读:注意这个题目要用三重条件操作符,在宏中要小心地把参数用括号括起来,并且整个宏也要用括号括起来,防止替换时出现错误。原创 2021-02-17 20:11:32 · 395 阅读 · 0 评论 -
【C语言巩固学习】-存储类
变量的存储类有5种:自动变量,寄存器变量,外部链接静态变量,内部链接静态变量,空链接静态变量。作用域:代码块作用域,函数原型作用域,文件作用域存储时期:静态存储时期,自动存储时期存储类说明符:auto,register,static,extern,typedef一种声明只能使用一种说明符以上是一些基本分类,c语言中,变量有以上的多种特性。1.自动变量,关键字auto,可省略代码块作用域,空链接如{int m=5;}当内层代码变量和外层代码变量名一致是,在内层代码块以内层为主。2.寄原创 2020-07-19 21:20:26 · 96 阅读 · 0 评论 -
【C语言巩固学习】-字符串和常量
【C语言巩固学习】1.字符串以char类型存于内存中,规定字符串以’\0’作为结束符号,常用以name[40]数组或者"hello world"形式存储,%s用于人机交互的输入输出。使用头文件string.h中的strlen()函数计算字符串长度,sizeof()函数用于计算整个数组分配空间的字节数。2.常量c语言中常量有两种表达方式,预处理#define NAME value,简单理解就是用NAME替换成valueconst方法,讲变量声明变成常量声明,程序运行时不会对内存中的值修改。原创 2020-07-04 18:59:10 · 139 阅读 · 0 评论 -
【C语言巩固学习】-浮点型
【C语言巩固学习】C语言的数据类型主要分为整型和浮点型,之前学c语言都是大概看看int float是什么样的,就直接用了,没有系统的学习过,今天学习了一下浮点型,豁然开朗,以前遇到过的问题都很容易的找出了原因。浮点型有float , double , long double三种类型。浮点型在c语言中可以存很小或者很大的数,一般使用指数型表示,如2.33e20。float的有效位一般不小于6位,double有效位一般不小于10。浮点常量在c语言中默认是double类型,加上f后缀就变成了float类型原创 2020-06-30 19:54:49 · 705 阅读 · 0 评论 -
【C语言巩固学习】整数型
【C语言巩固学习】int型和char型1.int整型变量的家族:short,int,long,long long等,一般这些都是有符号类型,前边儿加unsigned可成为无符号类型,这样能存储更大值的正整数。在不同的系统上int的位数不同,旧的IBM PC上是16位,现在的windows是32位/64位。相应的short的位数不大于int位数;long的位数不小于int位数。printf打印时 : %d-int , %hd-short , %ld-long , %lu-unsign原创 2020-06-29 21:01:50 · 186 阅读 · 0 评论 -
【C语言巩固学习】
【C语言巩固学习】C语言应用广泛,是各大计算机系统基础语言。C语言编程:1.明确程序目标(实现什么功能)2.程序设计(怎么做,用什么方法)3.编写代码(C代码)4.编译器编译(c代码转为机器语言)5.运行6.调试(遇到bug要修改)7.优化程序(后期应用)不同的cpu需要识别不同的机器语言,所以需要不同的编译器,但C语言不改变,这就体现了C语言强大的可移植性。...原创 2020-06-27 19:17:44 · 156 阅读 · 0 评论 -
机器学习(西瓜书)-线性回归模型
线性模型3.1 基本形式3.2 线性回归笔记的前一部分主要是对机器学习预备知识的概括,包括机器学习的定义/术语、学习器性能的评估/度量以及比较,本篇之后将主要对具体的学习算法进行理解总结,本篇则主要是第3章的内容–线性模型。3.1 基本形式谈及线性模型,其实我们很早就已经与它打过交道,还记得高中数学必修3课本中那个顽皮的“最小二乘法”吗?这就是线性模型的经典算法之一:根据给定的(x,y)点对,求出一条与这些点拟合效果最好的直线y=ax+b,之前我们利用下面的公式便可以计算出拟合直线的系数a,b,从而对原创 2020-09-08 12:22:48 · 1788 阅读 · 0 评论 -
机器学习(西瓜书)-模型评估与选择
模型评估与选择2.1 经验误差与过拟合2.1 经验误差与过拟合如果在 m 个样本中有 a 个样本分类错误,则错误率 E= a/m; 相应的,精度为1 - a/m 。我们将学习器对样本的实际预测结果与样本的真实值之间的差异成为:误差(error)。定义:在训练集上的误差称为训练误差(training error)或经验误差(empirical error)。在测试集上的误差称为测试误差(test error)。学习器在所有新样本上的误差称为泛化误差(generalization error)。原创 2020-08-30 11:28:37 · 770 阅读 · 0 评论 -
机器学习(西瓜书)-绪论笔记
绪论1.1引言1.2基本术语1.1引言正如我们根据过去的经验来判断明天的天气,吃货们希望从购买经验中挑选一个好瓜,那能不能让计算机帮助人类来实现这个呢?机器学习正是这样的一门学科,人的“经验”对应计算机中的“数据”,让计算机来学习这些经验数据,生成一个算法模型,在面对新的情况中,计算机便能作出有效的判断,这便是机器学习。另一本经典教材的作者Mitchell给出了一个形式化的定义,假设:P:计算机程序在某任务类T上的性能。T:计算机程序希望实现的任务类。E:表示经验,即历史的数据集。若该计算机程原创 2020-08-02 11:25:28 · 548 阅读 · 0 评论 -
linux操作系统原理及应用 - 概述
概述linux系统理解概述就简单记录以下,以图为主。linux系统理解POSIX:(Portable Operating System Interface )可移植操作系统接口。作用:操作系统和应用程序之间的标准接口。当一个操作系统满足POSIX标准时,在该系统上写的应用程序都能在任何UNIX系统中运行。GNU: (GNU is Not UNIX)是自由软件基金会的一个项目,该项目的目标是开发一个自由的UNIX版本。作用:Linux 的开发使用很多GNU工具, Linux上用于实现POS原创 2021-02-21 12:12:47 · 1197 阅读 · 0 评论 -
嵌入式linux驱动-Linux INPUT 子系统
INPUT 子系统input 子系统简介驱动编写流程注册设备上报输入事件input子系统框架负责处理各种输入事件,如按键、鼠标、键盘、触摸屏等。回忆一下,之前还有pincrl子系统和gpio子系统。input 子系统简介input子系统框架负责处理各种输入事件。对于驱动编写者而言不需要去关心应用层的事情,我们只需要按照要求上报这些输入事件即可。所有的输入设备以文件的形式供用户应用程序使用。input 子系统框架:input 驱动层、 input 核心层、 input 事件处理层和可访问的设备节原创 2021-01-20 12:19:06 · 244 阅读 · 0 评论 -
嵌入式裸机开发-DDR3
DDR3DDR3 内存简介和发展历史RAM 和 ROMSRAM 简介I.MX6U 只有 128KB 的 OCRAM,如果要运行 Linux 的话完全不够用的,所以必须要外接一片 RAM 芯片,I.MX6U 支持 LPDDR2、LPDDR3/DDR3,本文使用DDR3运行程序。DDR3 内存简介和发展历史RAM 和 ROMRAM:数据存储器, 随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失,可以随意的对 RAM 中任何地址的数据进行读写操作,非常方便。比如内存条、 SRAM、 SD原创 2020-09-12 17:08:02 · 3216 阅读 · 4 评论 -
嵌入式裸机开发-UART 串口通信
UARTI.MX6U 串口简介UART 简介I.MX6U UART 简介硬件原理分析驱动编写I.MX6U 串口简介UART 简介UART 通信格式串口全称叫做串行接口,通常也叫做 COM 接口,串行接口指的是数据一个一个的顺序传输,通信线路简单。UART 全称是 Universal Asynchronous Receiver/Trasmitter,全双工异步串行收发器。通过 UART 接口与外界相连最少只需要三条线: TXD(发送)、 RXD(接收)和 GND(地线)1帧数据=1位起始位+8位原创 2020-08-21 11:49:28 · 1453 阅读 · 0 评论 -
嵌入式裸机开发-GPT高精度延时
延时高精度延时简介GPT定时器简介定时器实现高精度延时原理小结驱动编写高精度延时简介GPT定时器简介延时函数方式:普通循环函数、硬件定时器本文使用硬件定时器GPT(General Purpose Timer) 来实现高精度延时。GPT 定时器是一个 32 位向上定时器(也就是从 0X00000000 开始向上递增计数), GPT 定时器也可以跟一个值进行比较,当计数器值和这个值相等的话就发生比较事件,产生比较中断。GPT 定时器有一个 12 位的分频器,可以对 GPT 定时器的时钟源进行分频, G原创 2020-08-19 13:10:19 · 747 阅读 · 4 评论 -
嵌入式裸机开发-EPIT 定时器
EPITEPIT 定时器简介驱动编写EPIT 定时器简介EPIT 的全称是: Enhanced Periodic Interrupt Timer,直译过来就是增强的周期中断定时器,它主要是完成周期性中断定时的。关于这些寄存器详细的描述,请参考《I.MX6ULL 参考手册》第 1174 页的 24.6 小节。EPIT 是一个 32 位定时器,在处理器几乎不用介入的情况下提供精准的定时中断,软件使能以后 EPIT 就会开始运行, EPIT 定时器有如下特点:①、时钟源可选的 32 位向下计数器。②原创 2020-08-15 14:34:10 · 674 阅读 · 0 评论 -
嵌入式裸机开发- GPIO 中断
中断Cortex-A7 中断系统详解中断向量表中断控制器CP15 协处理器中断使能IRQ 和 FIQ 总中断使能ID0~ID1019 中断使能和禁止中断优先级设置GICC_PMR 寄存器GICC_BPR寄存器D_IPRIORITYR寄存器优先级设置总结驱动编写Cortex-A7 中断系统详解中断系统分为四部分:中断向量表、中断服务函数、中断控制器、中断使能。中断向量表Cortex-A7 内核有 8 个异常中断和Cortex-M不同,Cortex-A7的外设中断(I2C、 SPI、定时器等)都在I原创 2020-08-12 13:43:53 · 1312 阅读 · 0 评论 -
嵌入式裸机开发-主频和时钟配置
时钟I.MX6U 时钟系统详解系统时钟来源7 路 PLL 时钟源时钟树简介内核时钟设置寄存器 CCM_CACRR,分频寄存器 CCM_ANALOG_PLL_ARMn,倍频PLL1 时钟频率的修改I.MX6U 时钟系统详解I.MX6U 的系统主频为528MHz,有些型号可以跑到 696MHz,但是默认情况下内部 boot rom 会将 I.MX6U 的主频设置为396MHz。《I.MX6ULL/I.MX6UL 参考手册》的第 10 章和第18 章有详细的讲解。系统时钟来源系统时钟来源于两部分:原创 2020-08-10 12:50:08 · 1147 阅读 · 0 评论 -
嵌入式裸机开发-有源蜂鸣器和按键
GPIO有源蜂鸣器简介硬件原理分析驱动程序有源蜂鸣器简介常用的蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器这里的有“源”不是电源,而是震荡源,有源蜂鸣器内部带有震荡源,所以有源蜂鸣器只要通电就会叫。无源蜂鸣器内部不带震荡源,直接用直流电是驱动不起来的,需要 2K-5K 的方波去驱动。因为蜂鸣器工作的电流比LED 灯要大,直接将蜂鸣器接到 I.MX6U 的 GPIO 上有可能会烧毁 IO,所以我们需要通过一个三极管来间接的控制蜂鸣器的通断,相当于加了一层隔离,使用三极管做开关,增强驱动能力。硬件原理分析原创 2020-08-08 11:14:49 · 717 阅读 · 0 评论 -
嵌入式裸机开发-优雅的控制寄存器
寄存器模仿 STM32 寄存器定义前言I.MX6U 寄存器定义1、编写外设结构体2、定义 IO 复用寄存器组的基地址3、定义访问指针官方 SDK 移植模仿 STM32 寄存器定义前言T 官方为 STM32F103 编写了一个叫做 stm32f10x.h 的文件,在这个文件里面定义了 STM32F103 所有外设寄存器,我们可以使用其定义的寄存器来进行开发。相比之下,NXP 官方并没有为 I.MX6UL 编写类似 stm32f10x.h 这样的文件, NXP 只为 I.MX6ULL提供了类似 stm3原创 2020-08-05 18:26:40 · 866 阅读 · 0 评论 -
嵌入式裸机开发-I.MX6U 启动方式
启动方式启动方式选择串行下载内部 BOOT 模式启动设备选择镜像烧写I.MX6U可以从 SD/EMMC、NAND Flash、QSPI Flash等启动,且需要在bin文件前面添加数据头。启动方式选择在拨码开关中,使用 BOOT_MODE[1:0]这两个引脚控制BOOT模式, BOOT_MODE1 和 BOOT_MODE0 在芯片内部是有 100KΩ下拉电阻的,所以默认是0。BOOT 类型模式选择如下图。串行下载可以通过 USB 或者 UART 将代码下载到板子上的外置存储设备中,我们可以使原创 2020-08-03 12:47:16 · 361 阅读 · 0 评论 -
嵌入式裸机开发-点灯大师
点灯I.MX6U GPIO 详解IO 命名I.MX6U IO 复用I.MX6U IO 配置I.MX6U GPIO 配置I.MX6U GPIO 时钟使能硬件原理分析实验程序编写编译下载验证编译代码创建 Makefile 文件代码烧写代码验证I.MX6U GPIO 详解IO 命名通过芯片手册可以发现规律IOMUXC_SW_MUC_CTL_PAD_XX_XX“XX_XX”表示各种GPIO名。比如:GPIO1_IO00~GPIO1_IO09、UART1_TX_DATA、 JTAG_MOD等。I.MX6原创 2020-08-01 13:07:57 · 1296 阅读 · 0 评论 -
嵌入式裸机开发-Cortex-A7结构及指令
Cortext-A7Cortex-A 处理器运行模式ARM 汇编基础GNU 汇编语法Cortex-A7 常用汇编指令处理器内部数据传输指令Cortex-A7 MPcore 处理器支持 1~4 核,性能强,功耗低。Cortex-A 处理器运行模式Cortex-A7 处理器有 9 种处理模式:大多数的程序都运行在用户模式,用户模式下是不能访问系统所有资源的,有些资源是受限的,要想访问这些受限的资源就必须进行模式切换。但是用户模式是不能直接进行切换的,用户模式下需要借助异常来完成模式切换,当要切换模式的原创 2020-07-31 14:27:53 · 1508 阅读 · 0 评论 -
嵌入式裸机开发-开发环境配置
这里写目录标题开启 Ubuntu 下的 FTP 服务Ubuntu 下 NFS服务开启Ubuntu 下 SSH服务开启Ubuntu 交叉编译工具链安装开启 Ubuntu 下的 FTP 服务FTP(文件传输协议)用于用户和服务器之间传输文件,需要两台计算机都支持FTP服务。sudo apt-get install vsftpd //安装ftp服务sudo vi /etc/vsftpd.conf //ftp配置#local_enable=YES#write_enable=YES#保证上述两项打开原创 2020-07-31 13:23:31 · 385 阅读 · 0 评论 -
linux C 编程入门
C编程从Hello World开始编写代码编译代码编译流程Makefile的使用从Hello World开始vim编辑器前边已经介绍过,这里学习一下gcc编译器gcc [选项] [文件名字]-c: 只编译不链接为可执行文件,编译器将输入的.c 文件编译为.o 的目标文件。-o: <输出文件名>用来指定编译结束以后的输出文件名,如果使用这个选项的话 GCC 默认编译出来的可执行文件名字为 a.out。-g: 添加调试信息,如果要使用调试工具(如 GDB)的话就必须加入此选项,此选项指原创 2020-07-25 14:27:05 · 1844 阅读 · 0 评论 -
linux系统入门-用户权限和磁盘
用户权限和磁盘Linux 用户权限管理Ubuntu 用户系统权限管理权限管理命令Linux 磁盘管理Linux 磁盘管理基本概念磁盘管理命令Linux 用户权限管理Ubuntu 用户系统目录/home 下存放多个用户目录。每个用户都有ID和GID(组ID),用户相关信息可以在文件/etc/passwd 中查看到。如用户名”zuozhongkai”后面“1000:1000”,第一个数字是用户的 ID,另一个是用户的 GID。Ubuntu 下用户类型分为以下 3 类:● 初次创建的用户,此用户可以完原创 2020-07-24 12:17:41 · 1549 阅读 · 0 评论 -
linux系统入门-Linux 文件系统
ubuntuLinux 文件系统简介以及类型Linux 文件系统结构文件操作命令文件压缩和解压缩文件查询和搜索文件类型Linux 文件系统简介以及类型硬盘上都是二进制数据,人类想看懂就需要将数据转化为文件形式。存储数据的物理设备有硬盘、 U 盘、 SD 卡、 NAND FLASH、 NOR FLASH、网络存储设备等,不同的存储设备其物理结构不同,不同的物理结构就需要不同的文件系统去管理,比如管理 NAND FLASH 的话使用 YAFFS 文件系统,管理硬盘、 SD 卡的话就是 ext 文件系统等等。原创 2020-07-23 10:15:20 · 285 阅读 · 0 评论 -
linux系统入门-下载工具和编辑器
ubuntuAPT 下载工具Ubuntu 下文本编辑Gedit 编辑器VI/VIM 编辑器APT 下载工具APT 下载工具可以实现软件自动下载、配置、安装二进制或者源码的功能,和install命令共同完成软件的下载安装。APT 采用的 C/S 模式,也就是客户端/服务器模式,我们的 PC 机作为客端,当需要下载软件的时候就向服务器请求,因此我们需要知道服务器的地址,也叫做安装源或者更新源。1、更新本地数据库sudo apt-get update//访问源地址,并且获取软件列表并保存在本电脑上2、原创 2020-07-22 12:00:59 · 303 阅读 · 0 评论 -
【STM32学习_凯斯3】
【STM32学习_凯斯3】STM32 I/O简介STM32 I/O简介控制I/O口就是简单的操作寄存器,每个端口有7个寄存器控制,上一篇文章已经说明,配置模式的 2 个 32 位的端口配置寄存器 CRL 和 CRH;2 个 32 位的数据寄存器 IDR 和 ODR;1 个 32 位的置位/复位寄存器BSRR;一个 16 位的复位寄存器 BRR;1 个 32 位的锁存寄存器 LCKR,常用的 IO 端口寄存器只有 4 个: CRL、 CRH、 IDR、 ODR,GPIOA->CRL/CR原创 2020-07-13 17:02:11 · 145 阅读 · 0 评论 -
【STM32学习_凯斯2】
【STM32学习_凯斯2】STM32F1系统架构STM32F1系统时钟系统时钟简介系统时钟配置(RCC下很多寄存器配置)本文为原子哥hal库开发手册学习笔记STM32F1系统架构ICode 总线:该总线将 M3 内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。DCode 总线:该总线将 M3 内核的 DCode 总线与闪存存储器的数据接口相连接,常量加载和调试访问在该总线上面完成。系统总线:该总线连接 M3 内核的系统总线到总线矩阵,总线矩阵协调内核和 DMA 间访问。DMA 总线原创 2020-07-08 18:26:55 · 654 阅读 · 0 评论 -
【STM32学习_凯斯1】
【C语言巩固学习】原创 2020-07-06 17:46:26 · 220 阅读 · 0 评论