自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (7)
  • 收藏
  • 关注

原创 STL map自定义排序规则

map中存储的是key-value键值对,默认按照key值从小到大顺序排序。即map只能按照key排序。pair的排序规则才是先按照key排,再按照value排序。1. 默认排序规格std标准库中带有和排序规则。指定greater排序2. 修改按key排序规格当key为自定义数据时,默认的排序规则就会失效,需要重写针对自定义数据的排序规则。重新写排序函数3. 修改按value排序规则map没有随机迭代器,不能使用函数。如果需要对value排序,可以再建立一个以valu

2022-07-08 23:23:29 4356 2

原创 排序类算法

文章目录利用vector进行排序数字类元素字符串类元素利用其他STL容器排序mapsetpriority_queue利用vector进行排序数字类元素  每个元素一般包含多个条件,利用lambda编写特定排序条件,用sort完成排序。涉及的知识点:sort函数以及排序规则默认是std::less<type>, 即较小的元素在前;std::greater<type>,较大元素先序;也可以编写自定义排序函数,包括lambda、函数对象、普通函数等。自定义排序规则时,需要

2022-04-05 21:46:17 291

原创 位运算及其应用

文章目录位运算基础知识与或非异或进阶应用lowbit状态压缩位运算基础知识与或非异或进阶应用lowbit  返回二进制数的最低位1的值。int LowBit(int n){ return (n & -n);}int GetBit(int n){ int ans = 0; for (int num = n; num > 0; num -= LowBit(num)){ cout << LowBit(num) <&

2022-03-29 00:25:41 180

原创 pair使用总结

pair使用总结文章目录pair使用总结初始化pair比较大小初始化 pair<int, string> stu1(1, "aaa"); // 构造函数初始化 pair<int, string> stu2{2, "bbb"}; // 列表初始化 pair<int, string> stu3 = stu1; // 移动初始化 pair<int, string> stu4(stu2); // 拷贝构造初始化

2021-07-30 00:25:32 165

原创 对递归的理解

  阅读递归最容易的方法不是纠缠于它的执行过程,而是相信递归函数会顺利完成它的任务。如果你的每个步骤正确无误,你的限制条件设置正确,并且每次调用之后更接近限制条件,递归函数总是能够正确的完成任务。  感觉递归内部也隐含这一种哲学思想。因为按照一般的思维,只有过程正确,才能确保结果正确。但是在递归完成之前,过程还没有经过检验,那么结果就应该是不确定的。但是,只要我们相信最后结果是正确的,并用这个结果修正过程,那么最终结果它就是正确的。打个不恰当的比喻,两个思想就类似于唯物主义和唯心主义。用严谨的过程最后得到

2021-04-24 12:16:10 198

原创 C++使用注意事项

vector<string> v 中加入一个空字符串,v的大小也会增加1。 vector<string> v; //v.size() == 0 string word; v.push_back(word); //v.size() == 1,不过该元素为空。也就是说,虽然为空,但确实存在。

2021-03-24 23:10:40 117

原创 【驱动】Linux下字符设备驱动开发流程

确定主设备号实现对应的open/read/write等函数,填入file_operations结构体定义自己的file_operations结构体把file_operations结构体告诉内核:注册驱动程序谁来注册驱动程序啊?得有一个入口函数:安装驱动程序时,就会去调用这个入口函数有入口函数就应该有出口函数:卸载驱动程序时,就会去调用这个出口函数其他完善:提供设备信息,自动创建设备节点#include <linux/module.h>#include <linux/f.

2021-03-19 22:11:01 206

原创 STL中常用数据结构方法以及常用算法

algorithmswap();max();min();find();unique();reverse();sort();stable_sort();to_string()isalpha();islower();isupper();isdigit();isalnum();tolower();toupper();String ss.length()s.push_back();s.pop_back();s.begin() – s.end()s.empty();s.s

2021-03-16 11:13:48 237

原创 TCP三次握手、发送数据、四次挥手

本地利用curl www.baidu.cm 80从百度服务器请求一次数据。然后,利用tcpdump -nn -i eth0 port 80抓取此次请求的数据包。其中,172.21.0.2为本地IP,220.181.38.150为百度服务器IP。#三次握手13:43:59.022921 IP 172.21.0.2.49584 > 220.181.38.150.80: Flags [S], seq 1369607997, win 64240, options [mss 1460,sackOK,TS

2021-03-07 13:55:53 249

原创 双指针套路总结

  对于数组的问题,常用的方法是双指针,首先为什么要用双指针,实质就是为了把已处理和未处理的数组元素区分开,也就是说通过两个指针,把数组分成3个部分。  在遇到有序数组时,第一应该想到的就是双指针。具体实现上包括:快、慢指针;对撞指针;滑动窗口;...

2021-02-28 19:53:00 150

原创 git基础操作--基本概念、常用指令

工作流程以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库工作区暂存区本地仓库远程仓库...

2021-01-21 09:27:08 113

原创 Shell脚本中获取uci配置文件参数

/lib/function.sh函数其中定义的主要函数功能如下:

2021-01-20 14:35:48 3340

原创 代码记录

工作中碰到的代码,在此记录。下班后再详细学习。该脚本调用之前,kill掉之前运行的ps |grep /sbin/temp_check|grep -v grep|awk '{print $1}'|grep -v $$|xargs kill -9

2021-01-05 10:24:54 82

原创 make menuconfig分析与总结

233333333333333333333333

2020-12-25 14:50:53 231

原创 openWrt移植(2)——iMX6UL适配与编译

目录openwrt源码支持的芯片iMX6UL编译openwrt源码支持的芯片iMX6UL编译

2020-12-21 23:26:52 800

原创 openWrt移植(1)——开发环境搭建与源代码下载

目录开发环境搭建源代码下载openwrt源码简介、分类源码下载将源码克隆到本地修改 openwrt 源码目录的 feeds.conf.default 文件中的镜像源提前下载依赖源码库到放到 openwrt 源码目录中更新软件包编译开发环境搭建开发环境选用Ubuntu。环境搭建与配置后续补充源代码下载openwrt源码简介、分类源码下载将源码克隆到本地https://gitee.com/harvey520/openwrt.git 每天自动从官方源拉取更新一次,不会存在更新不及时问题git cl

2020-12-21 23:17:07 818

原创 UCI提供给shell和lua的配置接口

1. config_get用来读取一个config值。命令格式如下:config_get var_name settion_name option_name <default>var_name: 用来存放config值的变量。settion_name: 就是section 的名字option_name: 就是option的名字config_set用来配置config值,命令格式如下:config_set section_name option_name var_name各

2020-12-16 15:07:54 544

原创 Makefile学习2——隐含规则

隐含规则通配符$@所有的目标文件。$@ 表示 该单元中的所列举的所有的目标文件$^所有的依赖文件。$(TAR):$(OBJ) $(CC) $^ -o $@$^ 表示 该单元中的所列举的所有的依赖文件

2020-12-13 22:29:51 222

原创 Makefile学习1——基本格式、变量

语法基本格式 目标(target)... : 依赖(prerequiries) <tab\> 命令(commad)  如果“依赖文件”比“目标文件”更加新,那么执行“命令”来重新生成“目标文件”。命令被执行的 2 个条件:依赖文件比目标文件新,或是 目标文件还没生成。   必须以 Tab 键缩进命令行,不能以空格键缩进2. 注释以#注释# #表示注释hello.i:hello.c gcc -E hello.c -o hello.ihello.S:hello.i

2020-12-13 15:31:08 239 1

原创 模块编写与调用

模块的编写lua允许我们编写自定义模块以便后面调用,在编写模块之前我们先认识2个知识点1.lua语言中数组,模块其实都是table表格。2.在之前的lua基本语法里我们知道函数是可以赋值给变量的构建的函数添加到模块中,好几种方法:先构建函数,再添加到模块中;直接构建模块函数方法。这种方法下有各种实现方法。--局部表封装模块local M = {}--属性M.date = "20201212"M.author = "FengZhendong"--方法--先构建函数,再添加到模

2020-12-12 18:42:52 237

原创 IEEE 802.11系列标准

802.11b802.11a802.11g802.11n802.11ac802.11ax802.11i   2004年6月,802.11i成为标准,其规范了一组经过改良的安全机制,目的是提供坚固而安全的网络连接。使用802.11i所定义的、经改良的身份认证与私密协议,就可称之为固安网络连接(robust security network associations,RSNAs)。设备可通过硬件或软件方式支持802.11i。802.11k802.11v...

2020-11-20 19:12:46 4277

原创 利用sed、grep、awk对JSON进行状态获取、写入

sed -i "s/\"pbc\": 0/\"pbc\": 1/" /etc/data/wps_status_info.json sed -i '/currentTime/d' /etc/data/wps_status_info.json sed -i '/pbc/a "currentTime": 0' /etc/data/wps_status_info.json sed -i 's/\"currentTime\"/ \"currentT...

2020-11-11 19:15:19 1836

原创 【WiFi SON】wifi son和mesh概述

地方都是

2020-11-11 11:31:09 1805

原创 【WiFi SON】Band Steering –频谱导航

当一个 ap 同时支持 2.4G 和 5G 双频时,当距离近时,优先连接 5G,尽可能使用 11ax 协议,使得空间利用率更高,当距离远时,由于 2.4G 的连接距离比较远,可以使客户端迁移到 2.4G,保证无线可以连接。如果 5G 频率上的客户端很多,可以将部分客户端迁移到 2.4G 上,以保证合理利用频谱资源,主要取决于 CCA 的繁忙程度。实现频谱导航功能的AP的两个频段必须使用相同的SSID和安全策略。1、优先接入5G频段2、双频之间负载均衡...

2020-11-11 11:27:09 2353 7

原创 [NFS]NFS服务器搭建和配置

一、服务器端1.1 安装NFS服务#apt会自动安装nfs-common、rpcbind等13个软件包sudo apt install nfs-kernel-server在没有安装nfs相关软件包的机器上,直接执行nfsstat和rpcinfo命令时,会给出安装提示在没有安装nfs相关软件包的机器上,直接执行exportfs和showmount命令时,会给出的安装提示在NFS服务器上使用apt命令,安装nfs-kernel-server软件包,系统提示同时安装nfs-common,rpci

2020-11-08 17:03:41 224

原创 【工具】dnsmasq

2020-11-04 15:41:53 92

原创 【工具】hexdump

选项Usage: hexdump [-bcCdefnosvx] [FILE]...Display FILEs (or stdin) in a user specified format -b 1-byte octal display -c 1-byte character display -d 2-byte decimal display -o

2020-11-04 15:41:03 196

原创 802.11控制帧

802.11控制帧在802.11帧格式中,前两个字节为Frame Control字段,其中前两位为协议版本,因为802.11协议簇目前只有一个版本,所以这两位一直为00,接下来两位为帧类型,目前有三个值,分别是:00表示管理帧;01表示控制帧和10表示数据帧。作用:控制帧只包含报头信息,按照最低基本速率传输,以确保每个网络内的设备都更够接收到控制帧。其具有清除信道、请求信道,并对单播帧进行确认,协助数据帧与管理帧传送的功能。控制帧主要在协助数据帧的传递。它们可用来监督无线介质的访问(但非介质本身),以

2020-10-27 18:33:25 3748

原创 【shell】Linux bash中自带的字符串处理工具

Linux bash中自带的字符串处理工具:1、字符串切片2、基于模式提取字符串3、查找替换4、查找删除5、大小写替换6、变量赋值abc="abcdefg"ABC="ABCDEFG"1、字符串切片echo "${abc:1:2}" #偏移1个字符,输出长度为2个字符的子川---bc2、基于模式提取字符串3、查找替换4、查找删除5、大小写替换echo "${abc^^}" #转换成大写---ABCDEFGecho "${ABC,,}" #转换成小写---abcdefg

2020-10-11 23:01:38 155

原创 【shell】 中双引号的作用

#! /bin/bashread str1read str2if [ -z "$str1" ]#if [ -z $str1 ]then echo "$str1 is void" echo "-z:void return value is 1" >>log.txtelse echo "$str1 is not void" echo "-z:not void return value is 0" >>log.txtfiif [ -n "$str1" ]#i

2020-08-23 23:54:29 510

原创 c文件编译过程

预处理(Pre-Processing) --> 编译(Compiling) --> 汇编(Assembing) --> 链接(Linking)这里以helloworld.c为例 1 #include <stdio.h> 2 #define LEN 111 3 4 int main() 5 { 6 int a = LEN; 7 printf("hello world\n"); 8 return 0

2020-07-26 12:51:40 368

原创 有理数均值

本题要求编写程序,计算N个有理数的平均值。输入格式:输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。输出格式:在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:41/2 1/6 3/6 -5/10输出样例1:1/6输入样例2:24/3 2/3输出样例2:1原始链接:http

2020-07-02 23:19:26 1067

原创 通讯录的录入与显示

通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式:输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。在通讯录记录输入完成后,最后一行给出正整数K,并且随后

2020-06-22 21:58:29 2908 1

原创 说反话-加强版

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come输出样例:Come I Here World Hello原地址链接:https://pintia.cn/

2020-06-15 21:23:22 318

原创 字符串的冒泡排序

我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。输出格式:输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。输入样例:6 2bestcateastafreeday输出样例:bestacatdayeastfree——

2020-06-05 21:01:10 4187

原创 浅拷贝、深拷贝

浅拷贝——2个程序单元(例如2个函数)是通过拷贝他们所共享的数据的指针来工作,真正要访问的数据并没有被拷贝。深拷贝——被访问的数据被拷贝了,在每个单元中都有自己的一份,对目标数据的操作相互不受影响。/* * 深拷贝,变量默认拷贝的是对象本身 */ int a = 3; int b = a; //b=3 a = 5; //a=5,b=3上边代码中,a的地址为0x22fe4c,b的地址为0x22fe48.且都为int变量,内部直接存储数值,所以改变a之后,对b没有影响。 int c =

2020-06-03 09:02:16 105

原创 父对象、子对象以及直接赋值、浅拷贝(copy)、深拷贝(deepcopy)

python中数据存储和C中区别:Python中:a=2b=aa=3该过程中的内存储存方式为:1、先再内存中开栈存储2这个数据的空间2、a指向数据为2的内存空间地址3、b=a 此时b指向2的内存空间的地址4、a=3 内存中开栈存储3这个数据的空间5、此时a=3中,a重新指向数据为3的内存地址总结:Python是动态语言,变量只是对象的引用,不同于C中将值赋给变量(j将值存放到变量代表的内存空间中),动态语言中,变量只是对象的引用,即对象本身有自己的内存空间,变量只是指向了该内存空间。

2020-06-02 21:56:48 3343

原创 C语言Paho MQTT库

下载地址:Paho https://github.com/eclipse/paho.mqtt.embedded-cPaho嵌入式C工程提供了三个子项目:MQTTPacket:提供MQTT数据包的序列化与反序列化,以及部分辅助函数。MQTTClient:封装MQTTPacket生成的高级别C++客户端程序。MQTTClient-C:封装MQTTPacket生成的高级别C客户端程序。...

2020-05-23 21:06:31 1744

原创 预定义宏__FILE__、__LINE__、__func__等

  C语言中,FILE、LINE、__func__常用于logout,打trace,debug调试。这些是预置在编译器中的宏,并不包含于任何头文知件,所以直接调用即可,不需要做任何其它操作。__FILE__指示当前文件名,表示为字符串常量。__LINE__指示运行当前文件的行数,表示为十进制整数常量。__func__指示当前函数名,表示为字符串常量。#include <stdio.h>void test(void){ printf("%s--%d--%s\n",__func__,

2020-05-18 20:54:29 536

原创 STM32+ESP8266+MQTT连接阿里云(1)

ESP8266连接阿里云的流程发送“+++” 目的是让ESP8266退出透传;AT+RESTORE 让模块恢复出厂设置;AT 判断模块的好坏及工作状态,正常就会回复OK;ATE0 关闭回显,这个没什么好说的;AT+CWMODE_CUR=1 设置为station模式;.AT+CWJAP_CUR=“ssid”,“password” 连接热点,需要根据自己的热点更改;AT+CIPSTART=“TCP”,“域名”,端口 连接TCP;AT+CIPMODE=1 设置传输模式为透传

2020-05-16 17:04:01 3925

make.pdf make官方手册

make官方手册,英文版,不过挺容易看懂的,没那么晦涩。初学linux、makefile可以直接看这个,条例清晰。

2020-08-22

Keil.STM32L4xx_DFP.2.0.0.pack

在KEIL中的stm32l4支持包,版本号为2.0.0,最新的版本好可以去官网去下载

2019-10-24

Debugging Tools for Windows.zip

解决在windows 环境下Qt Creator 调试器未设置的问题 Debugging Tools for Windows

2019-07-02

刘豹版现代控制理论PPT完整版、课后习题答案

现代控制理论经典教材刘豹版的PPT和课后习题答案。本书是智能控制的基础课。

2019-01-29

STM32 PMSM 官方代码库

ST官方电机库文件。里面包括电机的坐标变换、SVPWM、PI等。适合电机开发的人员。

2018-09-28

STM32foc ACIM

交流电机库文件。里面包括电机的矢量变换等。适合电机开发的人员。 (AC motors library file. Which includes motor vector transformation. For motor development staff.)

2018-09-28

STM32 PMSM FOC 中文手册

STM32 PMSM foc 中文文档。 刚入门小伙伴的学习利器。

2018-09-28

空空如也

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

TA关注的人

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