自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IPv6基础:IPv6地址及其范围区域

IPv6地址格式IPv6地址是一个128比特的无符号整数,用来标识一个或多个网络接口,如240c::0001、fe80::28ae:d1b2:da61:102a等。与IPv4不同,一个网络接口可以存在一个或多个IPv6地址。IPv6前缀对应IPv4子网掩码。IPv6地址表示IPv6地址传统的文本表示是以十六进制书写的,用“:”分割的8个16比特段来表示。如:12:34:56:78:9A:BC:DE:FFRFC4291中表示:十六进制与大小无关。如:12: 34: 56: 78: 9A:

2022-01-17 16:55:35 30947

原创 genieacs 安装指南

genieacs官网:GenieACSgenieacs开发手册:Welcome to GenieACS’s documentation! — GenieACS Documentation 1.2.8 documentationgenieacs 论坛:GenieACS Forum - GenieACS community(注意:可选用docker进行安装 ,这里不做介绍)安装指南参考官网Installation Guide — GenieACS Documentation 1.2.8 do

2021-12-28 11:55:28 4039 1

原创 STM32 系统定时器与外部中断响应级别实验测试

实验思路:通过对比系统定时器产生中断点亮灯1后while(1)模拟忙碌,以及按键点亮灯2后while(1)模拟忙碌来对比优先级。先通过开启自动装载寄存器触发系统定时器SysTick_Config(SystemCoreClock / 10);core_cm3.hstatic __INLINE uint32_t SysTick_Config(uint32_t ticks){ i...

2020-03-23 17:54:06 639

原创 STM32外部中断响应级别实验测试

对于SMT32中断响应分为两种:抢占优先级,响应优先级。详细可查看:【STM32开发】STM32外部中断注意:A > B是指中断级别更高,0是最高,15为最小,0 > 15举个栗子:有A、B两个中断一、抢占式优先级 : A > B1.B先进入中断子程序,但并没有执行完,此时A中断触发,这时候B停止,让A先执行。2.A先进入中断子程序,但并没有执行完,此时B中断触...

2020-03-23 17:25:59 1141

转载 【STM32开发】STM32外部中断

1、抢占优先级和响应优先级在了解中断之前,先了解一下它们之间的优先级别。STM32的中断源具有两种优先级:一种为抢占优先级;另一种为响应优先级(亚优先级),其属性编号越小,表明它的优先级别越高。抢占是指打断其他中断的属性,即低抢占优先级的中断A可以被高抢占优先级的中断B打断,执行完中断服务函数B后,再返回继续执行中断服务函数A,由此会出现中断嵌套。响应属性则应用在抢占属性相同的情况下,即当两个中断...

2020-03-23 10:05:34 662

转载 有源蜂鸣器和无源蜂鸣器的区别

蜂鸣器是经常用到的发声器件,在单片机的实验板、小孩玩具上经常见到,从发出的声音上来区分呢,有的只会发出固定频率的声音,而有的却可以发出较为明显的音调,那蜂鸣器到底有怎样的区别呢?1蜂鸣器分类先来看两组蜂鸣器的图片。第一张图:第二张图:这两幅图都是蜂鸣器,但是存在区别,你看出来了吗?第一张图的蜂鸣器可以看到内部有电路板,而第二张图是浇封起来的。蜂鸣器从驱动方式上来分可以分为无源蜂鸣器和有源...

2020-03-23 09:58:11 12391

原创 ubuntu搜狗输入法乱码

输入中文时,如果候选栏显示英文乱码、无法显示中文,如下图所示,可按如下方式处理:cd ~/.configrm -rf SogouPY* sogou*然后注销登录 或者重启 即可。...

2020-03-16 17:34:59 211

原创 Git错误提示之:mv(移动文件夹)后 fatal: Not a git repository : .git

问题原因:由于找不到对应的.git文件1.当本地没有.git时当本地没有.git文件时,网上大多的资料都是在本地目录下执行git init2.移动文件后在esp32项目中楼主把esp-idf-new的中间路径删除也就是目录路径从~/esp/esp-idf-new/esp-idf/ ---->~/esp/esp-idf/此时出现错误:fat...

2020-02-26 11:28:48 1221

转载 解决pip安装时速度慢的问题

国内源:新版ubuntu要求使用https源,要注意。清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.c...

2020-02-22 00:01:27 150

转载 按键抖动的处理方法(按键外部中断)

当把按键设为外部中断时,存在按键抖动问题: 一种情况是没有按按键的时候,按键有时也会因为震动等原因误触发按键事件,引起程序误判。对于这种按键抖动,解决方式有: 并上一个小电容(比如0.1uF)即可解决。 延时检测:检测到按键中断后延时50ms判断这个引脚电平,然后再做进一步处理。 还有一种情况是按下按键时,由于按键本身的结构或质量问题、操作者的发力问...

2020-02-18 16:32:41 6599 2

原创 LeetCode 螺旋矩阵 C语言

1.解题思路:如:1 2 3 45 6 7 89 10 11 1213 14 15 161、2、3、4、8、12、16、15、14、13、9、5为第一层,layer = 06、7、11、10为第二层,layer = 1对角线为层数切换,如1(初始化时进入第一层)、6(第一层进入第二层);(16、11也在对角线中,但为第1、2层)。移动分为上下左右右:当碰到右边矩阵...

2019-08-23 15:55:02 1176

原创 安装samba服务器

更新软件$ sudo apt-get upgrade $ sudo apt-get update $ sudo apt-get dist-upgrade安装samba服务器。$ sudo apt-get install samba samba-common创建一个共享盘$ sudo mkdir /srv/share给创建的这个目录设置权限$ sudo c...

2019-08-16 10:43:58 282

原创 ubuntu18.04设置静态IP

Ubuntu18.04采用的是netplan来管理network。以前的/etc/network/interfaces方式需要重启电脑才能生效$ sudo vim /etc/network/interfacesauto enp2s0f0iface enp2s0f0 inet staticaddress 192.168.1.138netmask 255.255.255.0gatew...

2019-08-16 09:55:24 309

原创 安装ssh-server

首先可通过以下命令判断ssh是否启动ssh是否启动$ netstat -tlnp |grep sshtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2371/sshd tcp6 0 0 :::22 ...

2019-08-16 09:36:37 4390

原创 TQ210-编译失败Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/lucid/main/source/Sources 404 No

Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/lucid/main/source/Sources 404 Not Found [IP: 91.189.91.26 80]使用的系统为:http://old-releases.ubuntu.com/releases/11.10/中的ubuntu-11.10-server-...

2019-03-05 16:52:51 4291

原创 leetCode --哈希表--两个列表的最小索引总和

假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:["Shogun", "Tapioca Express", "Burger King", "KFC"]["Piatti"...

2019-03-04 16:45:15 178

原创 哈希表

通过使用表中插入链表的方式防止数据冲突。另附上LETCODE中的两数相加demo。#define HASHSET_LEN (10007) //10007为质数桶能比较均匀#define ToHashVlue(value) (abs(value) % HASHSET_LEN)typedef struct hashset_t{ int key; int value; s...

2019-03-02 21:35:45 98

原创 数据链路

点对点的数据链路层通讯结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。结点A把封装好的帧发送给结点B的数据链路层。结点B的数据链路层收到的帧无差错 结点B的数据链路层收到的帧无差错,则从手到的帧中提取出IP数据报上交给上面的网络层;否则丢弃这个包。信息是如何交换的假设A的MAC地址为MA,IP为IPA;B的MAC为MB,IP为IPB。这就如我们寄信一样,MA为...

2019-02-26 21:38:18 212

转载 【Vim】使用Vundle管理配置Vim基本插件

Vundle项目托管在github上https://github.com/gmarik/vundle。其特色在于使用git来管理插件,更新方便,支持搜索,一键更新,从此只需要一个vimrc走天下。在vimrc文件中添加如下内容来启用vundle管理vim插件的功能:set rtp+=$VIM/vimfiles/bundle/vundle/ call vundle#rc('$VIM/vimfil...

2018-07-03 15:26:42 295

原创 浅谈表、栈、队列

一、表1.由数组构成的表表可以由简单的数组构成,如:char[A],每个单元包含着数据内容。                                如果我们需要在表中插入、删除数据时,我们就需要移动整个数组。如我们需要删除A2,删除掉的A2占用了内存,我们就需要把A3,A4往前移,这中操作是很费时的。                            2.链表链表是用结构体把内存块串起...

2018-05-31 22:48:52 427

原创 VIM 笔记

在VIM中复制代码时TAB符号变成了空格,可以使用以下方法进行格式化代码:(1)按两下小写g,即gg,定位光标到第一行。(2) 按住Shift+v,即大写V,进入可视化编辑的列编辑模式。(3) Shift+g,即大写G,选中整个代码。(4) 按下等号=,格式化所有代码。...

2018-05-30 09:59:30 229

原创 图解虚拟机创建硬盘(分区、挂载、开机自动挂载)

一,以下为创建硬盘先打开虚拟机设置添加硬盘(如果要扩充,点击原来的磁盘点扩充,操作差不多,读者自行研究)直接next->next……选择磁盘容量然后就可以看到新增的磁盘,启动虚拟机打开终端,输入指令   $sudo fdisk -l    查看磁盘分区可以看到其中新增加的磁盘/dev/sdb有21.5G,并且是没有分配的输入   $sudo fdisk /dev/sdb      进行分区接...

2018-04-09 10:27:37 4938

转载 谈表达式的副作用----冯晓辉

C++语言中的表达式可分为算术表达式,关系表达式和逻辑表达式等多种类型,但从表达式中变量所起的作用角度来看可分为两类:有副作用的表达式和无副作用的表达式.     1 有关表达式的副作用的概念一般说计算一个表达式的值需要引用一些变量,在表达式求值过程中,需要提取这些变量的值,但并不改变这些变量的值,这样的表达式称为无副作用的表达式.从传统意义上讲,表达式的作用就是计算,它除了产生一个计算结果外,不...

2018-03-12 10:51:19 884

原创 APUE文件IO总结,文件描述符、原子操作

文件描述符:当打开一个现存文件或者创建一个新文件时,内核向进程返回一个文件符,对于同一个文件,不同的进程可能代表着不同的文件描述符,假设文件A在进程B中的文件描述符为4,但是可能在进程C中文件描述符就为5了。通常文件描述符0表示标准输入,1表示标准输出。过程如下:每个进程在进程表中都有一张fd(文件描述符),当进程打开文件时,分配一个目前可用最小的fd给到文件,代表在此进程中文件的ID。v节点表信...

2018-03-07 11:10:08 218

转载 linux(unix高级编程头文件)ourhdr.h

//把此文件放入/usr/include /*Our own header, to be included after all standard system headers*/ #ifndef __ourhdr_h #define __ourhdr_h #include <errno.h>/*for definition o...

2018-03-06 16:05:02 588

转载 [Linux]系统调用理解

转:http://www.cnblogs.com/yiyide266/p/5538079.html什么是系统调用?Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于核心态;而普通的函数调用由函数库或用户自己提供,运行于用户态。二者...

2018-03-04 22:36:29 297

转载 vimTutor中文版

vimTutor对于新人学习vim有极大的帮助。在终端中输入vimTutor即可以阅读到VIM教程。以下为中文版(其实英文版也不难读,没有一些专业术语)如果在没有linux系统的电脑,可以去实验楼中打开终端,这边的vimtutor还是中文版的。==============================================================================...

2018-03-04 22:35:00 542

原创 构造函数、构造函数隐式转换、拷贝构造函数

构造函数对于我们来说是比较熟悉的,C++ primer里提到:类通过一个或几个特殊的成员函数来控制其对象的初始化过程,为构造函数。例1:class Fruit //定义一个类,名字叫Fruit { public: Fruit(){} }这样的构造函数是我们比较常见的,但是如果变成class Fruit

2018-01-23 15:57:12 1234

转载 Linux - EXT2文件系统

文件系统特性        举例来说,windows 98 以前的微软操作系统主要利用的文件系统是 FAT (或 FAT16),windows 2000 以后的版本有所谓的 NTFS 文件系统,至于 Linux 的正统文件系统则为 Ext2 (Linux second extended file system, ext2fs)这一个。此外,在默认的情况下,windows 操作系统是不会认识 Lin

2017-12-13 11:02:04 216

转载 硬盘的读写原理

硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA

2017-12-13 09:50:05 279

原创 size_t

在C++ Primer (第五版)中的解释:size_t是一种机器相关的无符号类型,它被设计得足够大以便能表示内存中任意对象的大小。其实说白了就是一种数据类型,在标准C库中定义的,应为unsigned int,在64位系统中为 long unsigned int。size_t与unsigned int最明显的区别在于,size_t是宏定义,代码移植性比较强,其大小为足够大的内存,如32位系

2017-12-07 15:01:14 290

原创 获取windows系统所有运行进程

#include 包含此头文件bool traverseProcesses(map& _nameID) { PROCESSENTRY32 pe32; pe32.dwSize = sizeof(pe32); //MSDN中描述初始化dwsize,否则获取Process32First fail HANDLE hProcessSnap = Creat

2017-11-15 14:30:23 4469 2

转载 tinyxml使用笔记

在TinyXML中,根据XML的各种元素来定义了一些类:        TiXmlBase:整个TinyXML模型的基类。        TiXmlAttribute:对应于XML中的元素的属性。        TiXmlNode:对应于DOM结构中的节点。        TiXmlComment:对应于XML中的注释。        TiXmlDeclaration:对应于XML中的申明部分,即<

2017-11-14 16:56:23 170

原创 C++调用C#dll

C++调用C#需要使用托管代理。一、添加C# DLL#using "../debug/BenQGuru.eMES.DLLService.dll"using namespace BenQGuru::eMES::DLLService;托管调用时,使用的是#using “文件路径”,using namespace 后面在C#中是 BenQGuru.eMES.DLLService.

2017-09-27 10:00:31 1764

转载 C++中的命名空间、using用法、区域运算符(::)详解

C++中的命名空间、using用法、区域运算符(::)详解

2017-09-25 11:07:58 886

转载 C++如何调用C#编写的DLL

由于C#编绎出来的DLL不是计算机所能直接识别的二进制指令码,需要CLS进行再解释,说到这,我想有些朋友应该知道C#项目需要引用C++编写的DLL时,可以直接引用DLLMPORT来实现调用,而反向的话,C++项目却不能简单靠引用来使用C#编写的DLL。由于C++项目默认配置是没有公共语言运行支持的,因此我们需要更改一些配置,来实现C++项目对C#编写DLL的调用。具体如何操作,我会在接下来的文章中进

2017-09-25 10:10:05 3555

转载 CSerialPort类接收数据时comstat未初始化

Run-Time Check Failure #3 -The variable 'comstat' is being used without beinginitialized.CSerialPort类在Visual C++ .NET 应用时会出现意想不到的问题。以《VisualC++/Turobo C串口通信编程实践》(龚建伟 熊光明 著)一书中第二章的SerialPortTest程

2017-09-08 17:17:56 1024

转载 GetLastError()返回值列表

GetLastError()返回值列表:〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。

2017-09-08 09:59:05 1267

转载 C++_继承与派生

继承的意义?使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程。它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事物直到本质。什么叫继承?(1)继承使类与类之间建立起一种上下级的层次关系(2)子类可以重复使用父类的操作和数据成员,子类可以声明新的属性和操作,还可以剔除不适合自己用途的父类操作。为

2017-05-27 16:31:21 227

原创 C对文件的一些操作(孙鑫vc++的阅读笔记)

打开文件FILE fopen(const char *filename,const char *mode);@filename 要打开的文件@mode 打开的模式打开的模式有如下:"r" = "rt"打开一个文本文件,文件必须存在,只允许读"r+" = "rt+"打开一个文本文件,文件必须存在,允许读写"rb"打开一个二进制文件,文件必须存在,只允许

2017-05-26 10:44:44 530

空空如也

空空如也

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

TA关注的人

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