自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (4)
  • 收藏
  • 关注

原创 在c/c++中输入彩色日志输出,带有带有颜色的打印

在c/c++中输入彩色日志输出,带有带有颜色的打印#ifndef __PTINTCOLOR_H#define __PTINTCOLOR_H#include <stdio.h>#ifndef LOG_DBG//颜色宏定义#define NONE "\033[m"#define RED "\033[0;32;31m"#define ...

2022-01-18 23:25:00 1084

原创 c++仿照go语言的error,函数返回值封装

c++仿照go语言,程序返回错误时,可以附加错误信息#ifndef __ERRORMSG_H_#define __ERRORMSG_H_#include <string>struct Errormsg{ typedef enum { OK = 0, ERR = 1, } HerrorCode; HerrorCo...

2022-01-18 23:23:00 243

原创 基于libevent的http服务器实现

基于libevent的http服务器实现//libevent的http服务器简单实现方式#include <stdio.h>#include <stdlib.h>#include <unistd.h> #include <string.h> //for struct evkeyvalq#include <sys...

2022-01-16 23:05:00 324

原创 select,poll,epoll的区别以及使用方法

I/O多路复用是指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。原生socket客户端在与服务端建立连接时,即服务端调用accept方法时是阻塞的,同时服务端和客户端在收发数据(调用recv、send、sendall)时也是阻塞的。原生socket服务端在同一时刻只能处理一个客户端请求,即服务端不能同时与多个客户端进行通信,实...

2022-01-16 00:14:00 264

原创 c++智能指针的使用,shared_ptr,unique_ptr,weak_ptr

c++智能指针的使用官方参考普通指针的烦恼:内存泄漏,多次释放,提前释放智能指针 负责自动释放所指向的对象。三种智能指针 shared_ptr,unique_ptr,weak_ptr;将shared_ptr存放在一个容器中,不再需要它的时候,要erase掉。allocator负责封装堆内存管理的对象,它们在整个标准库中使用,特别是STL容器使用它们来管理容器内部的所有内存分配,大部份...

2022-01-11 12:17:00 412

原创 c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)

c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)c++的左值,右值 精辟总结当一个对象被用作右值的时候,使用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)左值右值,完美转发参考文档。左值持久,右值短暂;move:显示地将一个左值转换为对应右值的引用类型,还可以获取绑定到左值上的右值引用,int&& rr3 = std::move(rrl); 使用move就意味着除了对rrl赋值或销毁它外,我

2022-01-09 20:24:42 429

原创 c++的bind使用方法

c++的bind使用方法除了容器有适配器之外,其实函数也提供了适配器,适配器的特点就是将一个类型改装成为拥有子集功能的新的类型。其中函数的适配器典型的就是通过std::bind来实现。std::bind函数定义在头文件functional中,是一个函数模板,它就像一个函数适配器,接受一个可调用对象(callable object),生成一个新的可调用对象来“适应”原对象的参数列表。一般而言,...

2022-01-05 21:29:00 184

原创 在linux中使用tcpdump抓包的方法:

在linux中使用tcpdump抓包的方法:1,运行下面命令来从所有网卡中捕获数据包:tcpdump -i any2,从指定网卡中捕获数据包tcpdump -i eth03,指定网卡,IP地址,写入文件tcpdump -i eth0 host 10.19.150.242 -w ./datdump.cap4,指定网卡,源ip 且 目的ip,写入文件tcpdump -i eth0 s...

2021-12-27 23:47:00 1935

原创 vscode配置指南,美化技巧

vscode配置指南,美化技巧vscode**选中部分高亮**"workbench.colorCustomizations": { "editor.selectionBackground": "#4a8672", "editor.selectionHighlightBackground":"#4a8672" },vscode忽略文件,忽略文件夹创建.vscode文件夹文件夹中添加settings.json文件,可以添加屏蔽文件{​"s...

2021-12-22 23:42:24 846

原创 c++模板类的使用,编译的问题

1,模板类编译的问题前两天在写代码时,把模板类的声明和分开放在两个文件中了,类似于下面这样:stack.hpp:#ifndef _STACK_HPP#define _STACK_HPPtemplate <typename Type>class stack { public: stack(); ~stack();}...

2021-12-21 16:05:00 463

原创 js中对象深度拷贝的方法(浅拷贝)

JS中,一般的赋值传递的都是对象/数组的引用,并没有真正的深拷贝一个对象(浅拷贝),某些情况下需要用到深度拷贝,可以使用如下写法let data = {username:"xutopia",password:"1688"}let tmp = JSON.parse(JSON.stringify(data))...

2021-12-13 22:42:31 446

转载 2020-12-17

在应用程序中替换Linux中Glibc的malloc的四种方法https://blog.csdn.net/littlefang/article/details/6052563

2020-12-17 20:06:55 102

原创 C++的vector的使用方法

vectorc++的vector的使用方法,创建,初始化,插入,删除等。#include "ex_vector.h"#include <iostream>#include <vector>#include <string>using namespace std;void ex_vector01_main(){ //#######...

2020-07-25 22:15:00 205

原创 vscode搜索所有文件夹中所有文件的方法

  最近在看opencv相关的内容,看到画图这一部分时,提示我 这些代码都来自OpenCV代码的sample文件夹。 按照他的提示,我打开了相应的文件夹,却发现,so many 文件 and 文件夹,这让我从何找起啊。突然想到宇宙第一IDE家的编辑器可能会有办法,所以某度了一下,果然找到了方法,这里整理一下。首先利用vscode打开simple文件夹,其实我...

2019-11-02 17:09:00 10020

原创 python串口助手

  最近项目中要使用模拟数据源通过向外发送数据,以前都是用C#编写,最近在研究python,所以就用python写了一个串口助手,方便以后的测试。 在电脑上通过虚拟串口助手产生两个虚拟串口,运行编写的串口助手另外,打开一个串口调试助手,辅助测试  两者互发数据,可以看到编写的串口助手能够正常接收发送,并且在后台我们也把接收到的数据打印了出来...

2019-10-10 22:25:00 810

原创 __pycache__

最近在使用python写一个串口模块的时候,偶然发现运行脚本之后,在工程文件夹下面出现了这样一个文件夹__pycache__,所以就特意到网上查了一下这个文件夹是怎么回事。我们先在源文件中添加一些内容,如下:在serialPortFile.py文件中添加下面两条语句运行此文件,控制台输出如下同样在main.py文件中添加下面两句话运行此文件,控制台输出如下从上面的结...

2019-10-07 22:50:00 1662

原创 最小二乘法

背景:我们有一系列的点(x,y),如下图所示,实际上这就是一个y=10*x的一元一次曲线,再加上一个随机误差得到的数据。我们想用一个线性方程来拟合它y=a*x+b为了达到最好的拟合效果,我们应该让最小。(y是原始值)。对上式求导对上式稍微整理以下,使用克莱姆法则,得矩阵的表达形式如果我们推广到更一般的情况,假如有更多的模型变量x^1, x^2,…, x^n(注意:x...

2019-09-08 22:28:00 213

原创 python语法01

在某.py文件中调用其他.py文件中的内容。全局变量的使用。线程的使用。if name == 'main': 的作用新建两个python脚本文件f1File.py"""这个是python的语法展示,配合f2File.py使用1,引用其他.py文件中的函数2,if __name__ == '__main__':"""print("this is in f1File.py")...

2019-09-03 22:59:00 117

原创 mpu6050中文数据手册

最近在做惯性导航相关的内容,研究了一下mpu6050,发现都是中文资料,阅读起来很麻烦,所以花了一段时间翻译mpu6050中文数据手册。CSDN下载链接。https://download.csdn.net/download/qq_37869098/11645912不过csdn好像不能设置0积分下载。在这里也可以关注公众号: 洛水梅家,后台回复 mpu6050中文数据手册,免费自动...

2019-08-31 13:17:27 16142 10

原创 NRF24L01双向无线通信

最近闲来无事,利用手头资源研究了一下基于nrf24L01的双向通信实验,整个系统如下图所示。获取原码关注公众号:洛水梅家,有更多详细资料。原理:nrf24L01本身是一种单向通信的无线模块,但是,当nrf24L01工作在增强型的 ShockBurst模式下,可以实现双向链接。典型的双向链接为:发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失。一旦数据丢失,则通过...

2019-08-18 22:58:00 1818

原创 安装win10和ubuntu双系统

2019-06-22​ 最近找了一份新的工作,要用到linux,由于之前基本上没有接触过这方面的东西,所以今天捣鼓一下,安装win10和linux双系统,办公研发双不误。更多资料关注公众号:洛水梅家先看一下效果图:刚开机会有选择启动方式,启动ubuntu还是windows。linuxWindows接下来重装一遍,生命在于折腾大白菜装机软件win10镜像先初始化...

2019-06-23 14:04:00 321

原创 以STM32和FPGA为核心的多组件协调工作系统

以STM32和FPGA为核心的多组件协调工作系统 发表于 2019-06-09 22:04 xutopia 阅读(...) 评论(...) 编辑 收藏 markdown_highlight();var allowComments=true,cb_blogId=5127...

2019-06-09 22:04:00 774

原创 FPGA最小系统设计

FPGA最小系统设计以EP4CE6E22I7为例,设计FPGA最小系统。更多详细资料见公众号 洛水梅家程序存储设计一般使用EPCS4I8N:FPGA_DATA0:13FPGA_DCLK :12FPGA_nCS:8ASDO:6时钟待续发表于 2019-06-09 21:58 xutopia 阅读(...) 评论(...) 编辑 收藏...

2019-06-09 21:58:00 2517

原创 接地问题

接地问题 当在调试电机等对电源环境干扰强烈的环境中,一定要注意接地,及时像RS422等这样差分的信号也会受到干扰。如果接220V电,就注意接结构地。 发表于 2019-06-07 19:13 xutopia 阅读(...) 评论(...) 编辑 收藏 markdown...

2019-06-07 19:13:00 211

原创 C语言(1)

C语言(1) static在C语言中static关键字有以下的作用1,可以用来修饰局部变量。局部变量在函数内部定义的,只有在函数内部有效(作用域),其缺省的存储方式是动态存储的,即指令执行到变量定义处时才给变量分配存储单元,函数执行结束后变量的内存单元就会被释放掉(生命周期)。用static声明局部变量时,则会改变变量的存储方式,使变量成为静态局部变量,即在编译...

2019-06-07 11:24:00 136

原创 ​ Markdown

​ Markdown Cygwin​ Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。​ Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Doc...

2019-05-25 13:08:00 66

原创 多功能嵌入式解码软件(4)

多功能嵌入式解码软件(4) 多功能嵌入式解码软件(4)在UARTTOOL中使用类库  读取协议文件,协议文件的信息会在TextBox框中显示出来。  如下图模拟下位机软件开始向上位机发送数据UARTTOOL打开串口,点击保存数据和解码数据会把原始数据和解码后的数据保存下来解码后的数据如图,和发送的一致。...

2019-05-16 13:01:00 189

原创 多功能嵌入式解码软件(3)

多功能嵌入式解码软件(3) 多功能嵌入式解码软件(3)类库使用方法读取协议文件 1 private void ButtonReadProtocol_Click(object sender, RoutedEventArgs e) 2 { 3 string[] txtRead = new string[2]...

2019-05-16 12:59:00 117

原创 多功能嵌入式解码软件(2)

多功能嵌入式解码软件(2) 多功能嵌入式解码软件(2)验证类库通信协议下面进行一个示例: 下位机需要向上位机发送3中数据帧,数据帧以功能码来识别,每种数据帧的协议如下3个表格所示,上位机需要把这些数据按照协议解码出来,并进行保存以便分析。通信协议:准备协议文件  按照通信协议编写协议文件/*this is ...

2019-05-16 12:54:00 267

原创 STM32最小系统设计

STM32最小系统设计 STM32最小系统设计概述  最近在在设计一块板子的时候发现在设计STM32电路这部分时,有些东西模棱两可。本着科学严谨的态度,本着对工作负责的态度(板子设计坏了都是money!),这里对STM32最小系统的设计进行一个梳理。如果其他人愿意将就,而我不愿意将就。  下面以STM32F407IGT6的最小系统设计为例。1 下载口...

2019-05-16 12:00:00 2905

原创 C#通过字符串分割字符串Split

C#通过字符串分割字符串Split 1 string[] strArr = str.Split(new[] {"****==="},StringSplitOptions.None); 发表于 2019-05-13 18:06 xutopia 阅读(...) 评论(...) 编辑 收藏...

2019-05-13 18:06:00 1128

原创 基于串口的SD_card系统

基于串口的SD_card系统 概述基于串口的SD_card系统1, 扫描文件;2, 新建文件;3, 删除文件;4, 写入文件;5, 读取文件。  整个文件系统的串口通信方式都是ASC通信方式。  文件系统分为简单实用方式和专业使用方式,简单使用方式只需要普通的串口调试助手就可以完成。专业使用方式需要专用的调试上位机。简单模式/专业模式的切换可以通过发送命令完...

2019-05-13 13:55:00 227

原创 直流无刷电机工作原理

直流无刷电机工作原理 直流无刷电机工作原理 发表于 2019-05-09 17:28 xutopia 阅读(...) 评论(...) 编辑 收藏 var allowComments=true,cb_blogId=512793,cb_entryId=10839786,c...

2019-05-09 17:28:00 1905

原创 JTAG接口定义

JTAG接口定义 发表于 2019-05-09 17:21 xutopia 阅读(...) 评论(...) 编辑 收藏 var allowComments=true,cb_blogId=512793,cb_entryId=10839723,cb_blogApp=c...

2019-05-09 17:21:00 951

原创 AD常用快捷键

AD常用快捷键 元器件翻转 : 空格按住shift拖动元器件实现自动编号取消布线 : 工具(Tools)取消布线(Un_Route)全部(AII)栅格变为点阵 : 按ctrl+G——打开cartesian Grid editor——在display区域将line设为dot把元器件放到背面 : 鼠标左键拖住元件,按L键换板层...

2019-05-09 17:17:00 357

原创 AD常用术语

AD常用术语 SMD :Surface Mounted Devices    表面贴装器件PAD  焊盘 发表于 2019-05-09 17:15 xutopia 阅读(...) 评论(...) 编辑 收藏 var allowComments=true,cb...

2019-05-09 17:15:00 564

原创 C语言指针详解

C语言指针详解  以下讲解是按照如下这个程序的执行顺序来讲解的一,程序中的c语言指针int a,b; //这是一个普通的整型变量 int *p;//这是一个整形的指针 a = 3; b = 4; 6 printf(" a的地址:%d;\r\n", &a); printf(" b的地址:%...

2019-05-08 17:45:00 173

原创 多功能嵌入式解码软件(1)

多功能嵌入式解码软件(1) 多功能嵌入式解码软件(1)目录第一章 多功能嵌入式解码软件(1)  概述  类库简介第二章多功能嵌入式解码软件(2)  验证类库第三章多功能嵌入式解码软件(3)  类库使用方法第四章多功能嵌入式解码软件(4)  在UARTTOOL中使用类库概述  在嵌入式开发的过程中,由于经常需要下位机与上位机通信,通信之间...

2019-05-07 13:23:00 237

原创 STM32 FSMC的应用笔记

最近在使用STM32的FSMC与FPGA做并行通信总线控制,做一下总结1,利用FSMC读取写入16位数据时的封装函数如下,不这样使用的话在与FPGA进行通信的过程中可能会出现不可预知的错误。#define Bank1_SRAM3_ADDR ((u32)(0x68000000)) /*在指定地址(WriteAddr+Bank1_SRAM3_ADDR)开始,连续写入n个字节....

2019-04-29 17:47:46 599

原创 STM32 FSMC使用笔记

STM32 FSMC使用笔记   最近在使用STM32的FSMC与FPGA做并行通信总线控制,做一下总结1,利用FSMC读取写入16位数据时的封装函数如下,不这样使用的话在与FPGA进行通信的过程中可能会出现不可预知的错误。 1 #define Bank1_SRAM3_ADDR ((u32)(0x68000000)) 2 /*在指定地址...

2019-04-29 17:40:00 566 1

ubuntu18操作系统.txt

ubuntu18操作系统,linux操作系统,ubuntu18操作系统,实用快速,方便

2019-09-11

FATFS文件系统应用程序手册(中文版).pdf

FATFS文件系统应用手册,是中文的,详细介绍了FATFS文件系统中的应用程序接口的适应方法,对于开发文件系统有很大的帮助

2019-05-15

u-center简单使用手册.pdf

支持GPS_NMEA-0813协议,GPS调试,测试很方便,可以对GPS_NMEA-0813协议进行解码

2019-05-13

C#串口调试助手

用C#写的串口调试助手,支持多种功能,经测试能稳定运行

2019-04-20

空空如也

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

TA关注的人

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