自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机视觉——积分图

笔记

2023-03-02 15:54:07 287

原创 Linux 基于信号量的进程间通信

Linux 基于信号量的进程间通信前言一、常见进程间通信方式的原理二、基于信号量的进程间通信1. 功能2.代码3. 细节总结前言进程间通信,故名思意是在不同进程间传递消息,因为每个进程都有自己独立的虚拟地址空间,方式主要有如下几种:管道(有名管道和无名管道),共享内存,内存映射,消息队列, 信号,信号量,套接字等方式一、常见进程间通信方式的原理无名管道(PIPE):只能用在具有亲缘关系的进程中比如父子进程,基本原理是使用内核缓冲区作为通信介质,亲缘关系的进程具有缓冲区的读写描述符,一个进程写入

2022-04-29 15:42:27 744

原创 完美转发实现机制

文章目录前言一、左值和右值二、左值引用和右值引用三、移动语义四、完美转发总结前言 要理解右值引用,必须先理解什么是左值和右值,以及右值和右值引用的区别。C++中可以对表达式使用2种独立的特性加以辨别,值类别和类型,其中值类别包括左值、右值等,类型即常见的数据类型。本文认为左值引用和右值引用是变量的一种类型,以下均为本人理解以及实验得出的结论。一、左值和右值 左值和右值并不是C++的新概念,实际上在C语言中就存在。其中认为左值可以出现在等号左边和右边,右值只能出现在右边。可以简单理解能取地址的就是

2022-04-22 15:00:48 1942

原创 使用c语言实现c++中虚函数机制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、虚函数机制二、C++实现虚函数三、C实现虚函数总结前言提示:这里可以添加本文要记录的大概内容:众所周知C++是门面向对象的语言,其中三大特性是继承、封装和多态。多态又分为动态和静态多态两种,其中静态多态指重载和隐藏,而动态多态指虚函数机制。本篇主要介绍动态多态的虚函数机制。提示:以下是本篇文章正文内容,下面案例可供参考一、虚函数机制  虚函数是指基类中使用virtual关键字修饰的成员函数,如果基类未实现该.

2022-04-20 20:40:21 1887 2

原创 二分查找及其经典应用(左边界,右边界等)

文章目录二分查找一、二分查找二、实现及原理1.经典二分查找2.查找左边界3.查找右边界总结二分查找本文总结并讨论经典二分查找,以及查找左边界和右边界。一、二分查找二分搜索顾名思义用来搜索特定目标的算法。每次将搜索空间缩减一般,直到搜索空间中仅剩一个数时或者找到目标时停止。二分查找与分治思想一致。需要注意的是二分查找只能用于查找有序序列,下面查找均基于搜索空间已排序且为升序二、实现及原理1.经典二分查找典型的二分查找如下,其关键是如何确定边界状态,当l=0,r=n−1l=0, r=n-1l=

2021-12-13 14:42:58 2278

原创 LeetCode: 剑指 Offer 29. 顺时针打印矩阵.

1. 题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]2. 思路  直观的想法是按照题目所述,依次打印每个数字,细节必须处理好。如图所示有四个方向,向右运行至边界或者已走过的数字时,转向下,同理向下运行至底部时或者已走过的数字时,转向左,以此类推。本题思路很简单,主要是如何处理代码细节,首先总共要打印矩阵大小mn个数字,因此循环mn次,每次添加一个元素

2021-11-10 15:06:53 254

原创 LeetCode: 322. 零钱兑换(动态规划,递归,备忘录递归以及回溯)

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回-1 。你可以认为每种硬币的数量是无限的。1. 思考 本题常规解法是利用动态规划。动态规划的题目,关键在于转移方程。本题思路较为简单,某个整数n的最少硬币兑换方式可以看成整数n-1的最少硬币兑换方式+一枚面值为1的硬币。因此可以列出如下的转移方程通常如果能用动态规划的题目,也可以用递归解决...

2021-09-28 12:30:25 595

原创 windows10安装 python pcl

官方github https://github.com/strawlab/python-pcl1. 下载编译的依赖1)主要依赖,选择pcl 1.8.1中的vs2015默认安装,并添加Path,添加Path都看不懂,直接找块豆腐。2)Gtk+ 下载注意把bin里面所有文件复制到源码中的pkg-config文件夹中3) 其他,下载Numpy和Cython2.下载源码pip clone或者直接下载zip都可以$ git clone https://...

2020-11-20 18:00:21 251

原创 python实现图像的理想滤波器、butterworth滤波器、指数滤波器

1.傅里叶变换图像的频率滤波是基于傅里叶变换的,通过二维傅里叶变换把图像从空域转换到频域,对频域的图像的频率进行操作,比如限制某个频率范围的像素通过。(1)傅里叶变换其中离散傅里叶变换为:(2)傅里叶逆变换其中离散傅里叶逆变换为: (3)傅里叶变换性质上述傅里叶变换均为一维傅里叶变换,然而图像中为二维的傅里叶变换,因此我们可以分别在行方向和列方向分别做傅里叶变换,:2.频域滤波频域滤波的基本流程如下傅...

2020-10-21 21:34:15 8239 5

原创 python 示波器

用Python matplotlib 库实现一个简单从串口中读取数据并绘制的代码import osimport matplotlib.pyplot as pltimport numpy as npimport serialimport serial.tools.list_portsfrom scope_my import Scopeimport structimport mat...

2019-12-02 15:17:33 3996 2

原创 汇编排序算法小结

1.冒泡排序(1) 思路:比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 重复步骤1~3,直到排序完成。  (2) 代码:DATA SEGMENTARR DB 1,5,3,7,9NUM EQU $-ARRDATA EN...

2019-01-07 19:32:29 8150 3

原创 windows 批处理文件

1.简单的描述1.批处理文件是一个文本文件,这个文件的每一行都相当于dos的一个命令行2.可以使用简单的if else的流程语句和简单的循环语句3.C盘根目录下的AUTOEXEC.BAT批处理文件会开机自启动2.常用命令echo 显示字符echo off表示在此语句后所有运行的命令都不显示命令行本身 @加载命令前表示不显示词条命令call 调用另一个批处理文件p...

2018-11-14 13:41:55 5866

原创 汇编 makefile

1使用MAKE.EXE进行makefileNAME1 = OSSTDIN #文件1的nameNAME2 = 1 #文件2的name$(NAME1): $(NAME1).ASM $(NAME2).ASM MASM $(NAME1).ASM $(NAME1) NULL NULL /t #用MASM 编译生成NAME.OBJ,不生成其他文件 MASM $(NA...

2018-11-12 16:56:39 612 1

原创 stm32 printf 重定向 虚拟示波器

KEIL MDK 中使用DEBUG_VIEWER#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) #define ITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n))) #define ITM_Port32(n) (...

2018-11-05 19:18:50 369 1

原创 AD5724 双极性ADC

1.参数功能表输入寄存器DAC寄存器电压输出范围选择寄存器控制寄存器上电状态控制寄存器 2.功能介绍          AD5724 是一款数模转换器,可保证 12 位单调性,积分非线 性(INL)误差为±1 LSB,总非调整误差(TUE)为 0.1%,建立时 间为 10 μs。该器件还集成了基准电压缓冲和输出放大器,从 而可以进一步节省成本...

2018-11-04 19:57:31 7386 4

原创 汇编 dos中断功能

DOS 中断01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH — 键盘缓冲输入0BH —检测输入状态0CH —清输入缓冲区的输入功能(1)、功能01H、07H和08H 功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一...

2018-10-31 18:51:43 1287

原创 ADC

1.Introduction12位ADC是逐次逼近型模数转换器(12位分辨率 采集电压=Vref*ADC_DR/4096),多达18个多路服用通道允许测量16个外部和2个内部信号。不同通道的AD转换可以用作单次,连续,扫描,不连续的模式。ADC转换的结果可以以左对齐或者右对齐的方式存放在16位的数据寄存器中。模拟看门狗可以检测输入电压是否在用户定义的最高和最低电压的阈值之内。ADC的时钟是由P...

2018-10-30 18:01:45 1783

原创 IWDG

1.Introductionstm32 有两个嵌入式看门狗外设,一个是independent watch dog,一个是window watch dog 。IWDG 是由stm32内部LSI提供的低速时钟,即使主时钟发生故障也不会影响IWDG。WWDG clocked from APB1 ,而且至于WWDG能触发中断。LSI(40KH)2.IWDG main features• F...

2018-10-16 18:32:30 1236

原创 go 单链表 linkedlist

package myfuncimport ( "fmt" "log" "os" "reflect" "runtime")//ElemType is list typetype ElemType interface{}//Node is list nodetype Node struct { Data ElemType Next *Node}//LinkedL...

2018-10-10 18:06:22 328

原创 通用定时器

1.通用定时器的工作流程:  1)计数器时钟选择           内部RCC(TIMx-CLK)  内部触发输入口1~4(IT1) 外部捕捉比较脚(TI1FP1~2)外部引脚  2)时基单元 计数器寄存器TIMx_CNT预分频器寄存器TIMx_PSC自动装载寄存器TIMx_ARR2 输入捕捉模式IC1,2,3,4可分别映射到TI1,2,3,44个16bit捕捉比...

2018-10-08 14:42:18 174

原创 CAN 数据帧,远程帧,错误帧,以及出错重连

1.CAN协议的定义:     CAN总线使用串行数据传输方式,当can总线上的一个节点站发送数据,它以报文形式广播给网络中所有的节点。对于每隔节点来说,无论数据是不是发给自己的,都对其进行接受。2.CAN 错误的种类:1.)主动错误:(主动报错)       只要发现错误就会主动的发出“出错标识”(PS:六个显性的同性位,不满足can协议最多5个连续的同性位)2.)被动错误:...

2018-09-28 19:01:02 8247 1

转载 cmd

reg 注册表相关操作参数说明:KeyName [\Machine]FullKey           Machine为远程机器的机器名 - 忽略默认到当前机器。           远程机器上只有 HKLM 和 HKU。           FullKey ROOTKEY+SubKey           ROOTKEY [ HKLM | HKCU | HKCR | HKU | ...

2018-09-27 10:54:00 201 1

原创 git error

fatal: refusing to merge unrelated histories解决方法 git pull --rebase origin master然后出现First, rewinding head to replay your work on top of it...解决方法  git fetch origin然后再 git pull --rebase origi...

2018-09-15 15:51:07 183

空空如也

空空如也

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

TA关注的人

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