自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凡人叶枫的博客

记录成就更好的自己!

  • 博客(37)
  • 资源 (11)
  • 收藏
  • 关注

原创 linux binutils工具集

对于嵌入式系统开发来说,掌握GNU的工具集(toolchain)- binutils toolchain非常重要。这些工具,可以说是我们开发和调试不可缺少的利器。

2023-05-11 14:20:24 730

原创 一种IPC通信机制Gdbus详解

常规进程间通信有管道,消息队列,共享内存,以及socket等,每个都有优劣,这次我们介绍一种高阶的进程间通信方式DBus。DBus通信是IPC通信机制的一种方式,本身是建立在socket机制之上,它支持远程函数调用和信号传递。session(会话模式)、system(总线模式)**总线模式(system bus):**采用总线模式时,系统需要维护一个DBus Daemon,每个DBus的请求通过DBus Daemon转发。

2023-04-27 19:30:00 2203

原创 如何将网页保存为pdf

有的时候我们需要备份某一个网页,但是直接收藏有的时候源链接会被删除,如果保存成网页,文件又很多,保存成PDF格式是一个不错的选择,下面就跟大家分享一个简单的方法。我用的Google Chrome和Microsoft Edge浏览器,其他浏览器类似。打印机选择另存为pdf,布局选择纵向,页面选择全部,右侧是预览,可以看一下网页是否都加载完,确认后点击保存,即可。

2022-10-07 10:23:47 2584

原创 微软VSCode的常用操作和常用设置

微软的Visual Studio Code(VSCode)编辑器是因为其简洁高效,轻量级,是很多程序员的选择,如何快速上手并使用,本文将对vscode在C/C++下的应用进行简单介绍。

2022-10-01 23:13:57 1479

原创 开源免费强大的按键精灵软件----AutoHotKey

AutoHotkey 是一款 windows 平台下的热键脚本语言程序。可以实现快速输入、快捷操作等多种快捷功能。程序简洁小巧,脚本可玩性高,能大大提高我们的生产效率。

2022-09-20 16:09:49 2823

原创 一款开源的支持离线的支持MarkDown的优秀笔记软件----思源笔记

日常工作中,大家可能会用笔记软件记录自己积累的一些知识,组建自己的知识管理系统,常用的工具可能有云笔记,如有道云笔记,印象笔记等,但是有时候在工作中,信息比较敏感,不能够将信息上传到云端,这个时候,一款支持离线的笔记就非常重要。**思源笔记,满足你的要求!**

2022-09-20 12:08:50 2095

原创 一款开源免费的任务日程管理工具ToDoList

推荐给大家一款开源免费的任务日程管理工具ToDoList,是适合职场人尤其是程序员的经典任务管理软件,使用好的话会让大家在工作中事半功倍。

2022-09-19 20:25:50 6364

原创 本地笔记软件mybase8.x破解试用用时长限制

本地笔记软件mybase8.x是一个经典软件,但是它是收费软件,我们可以在官网进行购买,软件给了大家30天的试用时间,可是有时候可能30天大家不够用,哈哈,那就可以通过下面的方法再多试用一段时间,理论上可以无限续杯哦。

2022-09-15 18:45:46 24956 10

原创 本地笔记软件mybase8.x -- 构建个人知识体系

随着学习和工作的不断推进,大家收集积累的知识越来越多,也越来越混乱,所以一个良好的笔记记录方法和一个好用的工具非常重要。虽然现在有很多云笔记解决方案,但是有的时候本地离线笔记更靠谱,mybase是一个很好的选择。

2022-09-03 23:28:30 2636 2

原创 使用python库geopy计算多组经纬度距离的方法

日常工作中有时会用到需要计算gnss定位模组的定位精确度,需要将被测设备和真值设备进行经纬度坐标之间的对比,由于经纬度坐标想要计算差值,需要涉及到坐标系的转换,计算方法比较复杂,geopy库很好的解决了这个问题,集成了大量的方法,可以做很多地理坐标相关的事情,其中就有计算两个坐标点之间距离的方法。整理出两个设备输出的gps的utc时间以及经纬度,按照下面格式写到txt文本中,脚本读取txt文本,进行整秒的经纬度进行比较,输出某一时间点的定位误差,单位为m。...

2022-08-01 20:24:06 2918 1

原创 自动文档生成工具Doxygen

说明Doxygen 是一个程序的文件产生工具,可将程序中的特定注释转换成为说明文件。他能将文件的注释,类的注释,函数的注释,结构体的注释,按照一定的规则,生成文档,可以支持跳转,文档格式可以生成html供线上使用,也可以转成pdf格式本地查看,非常方便。如果你做的是对外的sdk接口,可以配合jenkins等持续集成工具,自动生成文档说明。安装平台:Ubuntusudo apt-get install graphvizsudo apt-get install doxygen sudo apt-ge

2022-01-18 11:11:32 699

原创 常用bit字节按位操作

常用bit操作

2022-01-14 11:58:11 1030

原创 基于git的仓库管理工具repo的简单介绍

一、repo介绍repo命令行工具,是一个python脚本,对git部分命令进行封装,简化了对多个git版本库的管理,通过配置manifests配置文件,可以将很多个git仓库有效的进行组织管理。最开始是用在Android源码的管理上,目前被广泛使用。二、repo使用初始化命令:repo init -u [<OPTIONS>]-u: 指定连接到的manifest仓库地址-m: 选择仓库中某个manifest文件,如果没有设置,就使用default.xml-b: 选择一个manie

2022-01-12 16:54:56 2480

原创 基于51单片机和红外漫反射传感器的久坐提醒神器(番茄钟)的设计

一、背景介绍我们工作久了,久坐导致的毛病就显现出来了,腰酸背痛颈椎疼,最近看到利用番茄钟工作法挺好,工作25分钟,休息5分钟,既能调整工作节奏,避免精力过分消耗,也能避免久坐导致的身体问题。我刚开始使用闹钟做提醒,后来尝试番茄钟软件,但是都要手动去操作手机,拿起手机看到信息,然后就会去处理手机上的事情了,起不到作用…直到有一天收拾东西看到了我大学期间基于51单片机做的一个电子设计,激起了我的灵感,开始了基于51单片机的自动番茄钟,久坐提醒神器的设计和制作。整体方案硬件部分继承了大学时焊接的电路板,更

2022-01-11 18:50:08 7754

原创 网络抓包工具tcpdump介绍

说明tcpdump是用于网络分析和问题排查的非常有用的工具,它能够将网络中传送的数据包完全抓取下来进行分析,也能够根据参数进行筛选,选择自己需要的数据进行分析,十分方便。用法介绍# tcpdump --helptcpdump version 4.1.1libpcap version 1.8.1Usage: tcpdump [-aAbdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ] [ -C file_size ] [

2021-12-31 16:19:00 568

原创 网络性能测试工具iperf介绍

说明Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。用法介绍# iperf3 -hUsage: iperf [-s|-c host] [options] iperf [-h|--help] [-v|--version]Server or Client: -p, --port # server port to listen on/connec

2021-12-31 10:48:44 412

原创 网络诊断工具ping介绍

说明ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)echo 请求报文,测试目的站是否可达及了解其有关状态。用法介绍ping --helpBusyBox v1.29.3 (2021-10-18 08:33:23 UTC) multi-call bin

2021-12-30 20:17:17 6851

原创 监控TCP/IP网络的工具netstat介绍

说明netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,以及与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况,用于分析网络问题,非常方便。用法介绍#netstat -husage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} netstat [-vWnNcaeol

2021-12-30 19:51:30 3316

原创 基于51单片机的上下限可调的数字温度控制系统

摘要:设计并制作了数字温度显示控制系统,能够实时显示环境温度,并在超温限情况下报警提示和进行相应的温度控制。上下限温度可以人工调节,并能通过串口显示在pc机上。测温范围0~100℃,误差0.1℃以内。系统通过单片机STC89C52、温度传感器DS18B20、液晶1602以及串口模块组成,上机位软件用VB编写。实验测试通过,该系统可用于工业上对温度的监测和控制。关键词:数字显示;温控;上下限可调;上位机1.作品功能及总体方案1.1 功能描述本设计设计并制作了数字温度显示控制系统。主要应用了STC89C

2021-12-27 20:06:56 22419 23

原创 GNSS NMEA-0183协议解析

最近在做gps相关工作,需要解析gps模组输出的nmea数据,获得经纬度等信息,整理了一下nmea各个字段的含义,供大家参考。基本介绍GNSS的全称是全球导航卫星系统(Global Navigation Satellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功能运输卫星

2021-12-24 16:16:54 13205 4

原创 strace常用操作

一、strace常用操作跟踪程序运行过程中执行的系统调用和接收到的信号。二、strace使用运行./strace -p 进程号一般使用-t -T参数打印系统时间及运行时间

2021-11-09 20:11:57 132

原创 gdb常用操作

一、gdb功能介绍程序调试工具,可以动态的改变程序的执行环境。二、gdb使用1、运行(1)./gdb 程序名(2)./gdb 程序名 -p 进程号(3)./gdb运行,输入attach+进程号2、查看变量(1)p 变量名(2)p/10x 变量名3、给变量赋值 p 变量名=x4、查看栈信息 bt5、进入某一层栈 f6、查看所有线程信息 thread apply all bt / info thread7、查看目前栈信息中所有变量信息 info locals...

2021-11-09 20:08:18 1128

原创 利用闲置笔记本电脑搭建linux服务器并布置自己的网站

背景一直想有一个云服务器,做一些感兴趣的事情,比如搭建一个个人网站,做一些linux上的验证实验,学一下Python等等。之前申请了一个腾讯云服务器,但是到期后续费很贵,就不再使用了,刚好家里有一台闲置的笔记本电脑,就想着自己搭建一台linux服务器,方便自己使用。本文将从以下几个方面介绍一下。1、如何开启SSH服务,方便远程访问;2、如何开启WEB服务器,搭建简单网站;3、如何开启内网穿透,做到外网访问;4、如何配置笔记本不休眠持续运行。准备一台能联网的笔记本电脑,配置能用就行。安装好

2021-10-31 17:13:56 17526 3

原创 C语言编写的一个简单通用的日志框架----支持日志等级,日志颜色,打印到文件等设置

日常工作中常常需要输出日志进行调试,本文提供了一个C语言编写的日志框架。可以输出日志到文件或者是终端,支持日志等级设置,不同日志等级可以设置不同的颜色,另外还可以设置进程名、模块名、函数名等的输出,能够打印毫秒级时间,能够限制文件大小,使用方便,架构小巧灵活。本架构多线程的支持有待验证,每次日志调用都会使用写入,性能有待验证,另外,写满切换文件没有实现。SimpleLog.h/****************************************************************

2021-09-27 19:07:47 886

原创 简单通用的Makefile编写例子

Makefile的语法很多,编写起来也比较麻烦,日常工作中我们可能需要编写一些简单的测试程序,每次编写Makefile文件比较麻烦,本着拿来主义的原则,编写了一个通用的Makefile示例,供大家交流使用,支持路径的修改,支持改动增量编译。例子中具体每行的含义,大家可以百度查一下,或者参考《跟我一起写 Makefile》看一下,本文仅仅是分享成品,不做详细阐述。CC = gccCFLAGS = -g -Wall -std=c99CLIBS = -lpthreadSRC_PATH = srcOB

2021-09-27 18:21:23 705

原创 日志输出显示优化----printf函数控制输出颜色

大家在编写代码的时候会使用printf函数输出日志,printf函数有控制输出字符的显示方式、前景色、背景色的功能,使用后,日志看起来比较清晰。举例说明:printf( “\033[0;31;42m Hello world !\033[0m\n” );显示结果:解释说明:格式: \033[显示方式;前景色;背景色m显示方式 :0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)前景色:30(黑色)、31(红色)、32

2021-09-27 17:31:35 344

原创 C语言时间函数总结

日常编程过程中经常会用到日期和时间,我们常常需要对日期和时间进行转换和处理,C语言time.h中为我们提供了这些函数。一、时间的概念通用协调时间(UTC, Universal Time Coordinated):是一个全球通用的时间标准,使用秒来计算。格林尼治平均时(GMT, Greenwich Mean Time):基本上等同于UTC时间。本地时间:整个地球分为24时区,本地时间是结合各地的时区进行计算的。本地时间 = UTC + 时区差,时区差东为正,西为负,比如北京为东八区,则时区差为+8。

2021-06-01 18:55:48 10310 5

原创 cmake教程-提高篇

之前写过一篇文章,以实例简单介绍了cmake的常用操作,这次写一下稍微提高一些的用法。入门篇请参考:cmake入门篇一、常需要设置的几个变量如果我们是在嵌入式下编程,需要交叉编译,那么下面一些变量可能需要设置一下。#指定C++的标准set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED ON)set(CMAKE_CXX_EXTENSIONS OFF)#指定C语言的标准set(CMAKE_C_STANDARD 99)set(CMA

2021-05-28 18:27:10 2189

原创 Linux下使用shell命令统计工程代码行数

使用下面脚本可以统计代码行数:find . "(" -name "*.cpp" -or -name "*.c" -or -name "*.h" ")" -print | xargs wc -l > statistics.txt结果如下:cat statistics.txt 36 ./main.cpp 6 ./div/div.cpp 1 ./div/div.h 1 ./mul/mul.h 6 ./mul/mul.cpp 1 ./sub.h 1 ./add.

2021-05-28 11:56:00 433

原创 cmake教程-入门篇

从事linux的开发工作,不可避免的需要进行编译构建的工作,直接编辑Makefile,不仅需要熟悉Makefile的语法,还需要知道依赖和推导规则,比较麻烦。而cmake工具,只需要开发者提供头文件路径、库路径、编译参数等基本参数,就能快速生成Makefile,语法简单,能够快速上手,另外cmake工具能够满足跨平台的要求,因此应用比较广泛。下面我们以一个实际的计算器的例子,逐步深入对cmake的学习理解。一、最简单的例子在linux平台下使用cmake生成Makefile并编译的通常流程有下面几步。

2021-05-27 19:09:02 9306

原创 Linux开发书籍推荐

在做linux开发学习过程中读过的一些书,有些比较经典,但是经典的未必是适合的,块头太大刚开始时读可能有些吃力,可以先阅读一些写得比较浅的书籍,比如从入门到精通系列,先入门提起兴趣,再逐步阅读精进,学习不是一蹴而就的,活到老,学到老,软件开发行业尤其如此。1、linux相关《Linux程序设计(第4版)》《Linux命令行与shell脚本编程大全(第3版)》《UNIX环境高级编程》2、C/C++语言《C语言程序设计》《C程序设计语言》《C Primer Plus(第6版)中文版》《C++

2021-05-20 19:00:39 639

原创 版本控制工具svn和git

项目的开发是长期的过程,这个过程里有每个项目的生命周期和各个功能的里程碑。一般会把这些周期和里程碑确定成一个个的版本,以便对整个项目实行历程的管理和阶段目标的控制。版本管理非常重要,使用一个顺手的工具能够事半功倍。版本管理有许多工具可供选择,其中比较常用的两款是svn和git,下面对两个工具进行介绍。一、svnsvn是一个开源的集中式版本控制系统,有很多公司在使用。svn常用操作如下:1、检出svn checkout2、更新svn update3、提交svn commit -m “”4、

2021-05-20 18:56:03 389

原创 libev库使用教程

libev是用C语言编写的高性能、全功能事件循环库,支持select,poll模型,也支持linux特定的epoll模型,一个小巧、易用的库。环境准备:ubuntu一、libev库支持的功能官方文档:http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod阅读官方文档,可以了解到libev支持事件循环和观察器。事件循环ev_loop //事件循环观察器ev_io //IO读写ev_timer //定时器ev_periodic //周期任务

2021-05-19 19:43:18 2333

原创 推荐一个在线绘图工具ProcessOn----支持流程图、思维导图、UML等

我们常用来绘制流程图等的工具一版会使用visio等,但是它是一款收费软件,而且不是太易用,今天推荐一款在线绘图工具ProcessOn,不仅功能强大,而且快捷易用,还有大量优秀的模板可供使用。邀请连接:https://www.processon.com/i/6094fc3f1e0853307098c6fb1、支持多种常用图形的绘制支持流程图、思维导图、原型图、UML、组织结构图、架构图等的绘制,操作简单。2、能够和常用软件格式互相转换支持xmind、freemind等软件的互相转换3、拥有大量

2021-05-13 19:00:00 1589 1

原创 adb常见问题

在日常使用adb的过程中遇到过下面一些问题,总结汇总如下。一、连接不上1、未安装adb驱动windows如果没有默认安装adb的驱动,需要安装对应的adb驱动程序。2、未配置正确的设备id在.android目录下新建adb_usb.ini文件,文件里写上设备ID,设备ID可在windows设备管理器里查到。二、乱码问题如果linux系统配置了目录带颜色,adb又不支持,就会显示乱码。如下图所示:1、使用最新版本的adb程序官网下载:https://adbshell.com/downloa

2021-05-12 18:57:09 546

原创 Linux开发常用工具汇总

下面归纳汇总了linux软件开发可能用到的一些工具,包括windows上的和linux下的,通过这些工具可以搭建基本的linux的开发环境。这里先进行罗列,后面章节逐步展开介绍。交叉编译环境VMwareWorkstation(虚拟机)+Ubuntu(linux系统)代码编辑软件Source InsightVisual Studio Code文档编辑软件Notepad++UltraEditvim文档比较工具Beyond compareWinMergeMeld终端工具Xshell

2021-05-11 18:23:55 1918 1

原创 为什么要开始写博客?

使用CSDN已经很多年了,平时通过CSDN查找一些资料,下载一些文件,非常便利。有时也想在这里写一些文章,但是迟迟没有动手,最近思考颇多,觉得有必要做这件事情。1、记录成就更好的自己在日常的工作和学习中,会遇到各种问题,也会学习到一些知识点,事后不去整理,再遇到类似的场景,又需要重新去找,十分不便,即使随手写了一些文档,但是不成系统,后面也不便管理,所以希望借助这个平台,记录自己学习、思考、总结的过程,同时也能够分享自己的所得、感想、经验。2、构建自己的知识体系工作多年,一直从事linux软件的开发

2021-05-08 18:25:11 101 1

基于51单片机的上下限可调的数字温度控制系统proteus仿真

基于51单片机的上下限可调的数字温度控制系统proteus仿真 使用学习51单片机和 电子设计的同学

2023-05-29

一个简单的cmake的使用例子

一个简单的cmake的使用例子,cmake_test.tar.gz

2021-05-27

putty.zip支持adb版本

支持adb、ssh的轻量级终端工具

2021-05-12

adb.zip官网最新版

adb官网最新版本,解决了显示颜色乱码问题

2021-05-12

飞思卡尔单片机制作的数字电压表程序

基于飞思卡尔单片机的数字电压表制作 数码管显示 adc0809转换

2012-11-25

基于51单片机的数控电压源设计

基于51单片机的数控电压源设计 按键控制输出电压大小 并显示在数码管上 包含proteus硬件仿真和C语言程序

2012-11-25

基于51单片机的数字电压表设计

基于51单片机的数字电压表设计,数码管显示。包含proteus硬件仿真和C语言程序

2012-11-25

温度ds18b20测量仪表的设计液晶1602显示

完整的基于51单片机的温度传感器ds18b20显示在1602上的设计。c语言程序文件

2012-11-25

51单片机的电子时钟加温度设计的proteus仿真

51单片机的电子时钟加温度传感器DS18B20的设计,含有proteus硬件仿真图和c程序

2012-11-25

电压电流转化电路的proteus仿真

电压电流转化电路的proteus仿真 包含硬件仿真图和keil c语言程序

2012-11-25

绿色小巧超星pdg文档阅读器

绿色小巧超星pdg文档阅读器,不用安装,打开即用

2012-11-25

51单片机完整开发板的proteus仿真,供大家学习参考

完整的包含周边电路的proteus仿真开发板,大家可以用这个学习51单片机.里面附有原理图和学习资料

2012-11-25

空空如也

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

TA关注的人

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