
奇文共欣赏,疑义相与析
文章平均质量分 63
技术交流,程序积累,问题记录!
凡人叶枫
活到老学到老!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一种IPC通信机制Gdbus详解
常规进程间通信有管道,消息队列,共享内存,以及socket等,每个都有优劣,这次我们介绍一种高阶的进程间通信方式DBus。DBus通信是IPC通信机制的一种方式,本身是建立在socket机制之上,它支持远程函数调用和信号传递。session(会话模式)、system(总线模式)**总线模式(system bus):**采用总线模式时,系统需要维护一个DBus Daemon,每个DBus的请求通过DBus Daemon转发。原创 2023-04-27 19:30:00 · 3890 阅读 · 0 评论 -
如何将网页保存为pdf
有的时候我们需要备份某一个网页,但是直接收藏有的时候源链接会被删除,如果保存成网页,文件又很多,保存成PDF格式是一个不错的选择,下面就跟大家分享一个简单的方法。我用的Google Chrome和Microsoft Edge浏览器,其他浏览器类似。打印机选择另存为pdf,布局选择纵向,页面选择全部,右侧是预览,可以看一下网页是否都加载完,确认后点击保存,即可。原创 2022-10-07 10:23:47 · 3653 阅读 · 0 评论 -
使用python库geopy计算多组经纬度距离的方法
日常工作中有时会用到需要计算gnss定位模组的定位精确度,需要将被测设备和真值设备进行经纬度坐标之间的对比,由于经纬度坐标想要计算差值,需要涉及到坐标系的转换,计算方法比较复杂,geopy库很好的解决了这个问题,集成了大量的方法,可以做很多地理坐标相关的事情,其中就有计算两个坐标点之间距离的方法。整理出两个设备输出的gps的utc时间以及经纬度,按照下面格式写到txt文本中,脚本读取txt文本,进行整秒的经纬度进行比较,输出某一时间点的定位误差,单位为m。...原创 2022-08-01 20:24:06 · 3370 阅读 · 1 评论 -
常用bit字节按位操作
常用bit操作原创 2022-01-14 11:58:11 · 1158 阅读 · 0 评论 -
基于51单片机和红外漫反射传感器的久坐提醒神器(番茄钟)的设计
一、背景介绍我们工作久了,久坐导致的毛病就显现出来了,腰酸背痛颈椎疼,最近看到利用番茄钟工作法挺好,工作25分钟,休息5分钟,既能调整工作节奏,避免精力过分消耗,也能避免久坐导致的身体问题。我刚开始使用闹钟做提醒,后来尝试番茄钟软件,但是都要手动去操作手机,拿起手机看到信息,然后就会去处理手机上的事情了,起不到作用…直到有一天收拾东西看到了我大学期间基于51单片机做的一个电子设计,激起了我的灵感,开始了基于51单片机的自动番茄钟,久坐提醒神器的设计和制作。整体方案硬件部分继承了大学时焊接的电路板,更原创 2022-01-11 18:50:08 · 8832 阅读 · 0 评论 -
基于51单片机的上下限可调的数字温度控制系统
摘要:设计并制作了数字温度显示控制系统,能够实时显示环境温度,并在超温限情况下报警提示和进行相应的温度控制。上下限温度可以人工调节,并能通过串口显示在pc机上。测温范围0~100℃,误差0.1℃以内。系统通过单片机STC89C52、温度传感器DS18B20、液晶1602以及串口模块组成,上机位软件用VB编写。实验测试通过,该系统可用于工业上对温度的监测和控制。关键词:数字显示;温控;上下限可调;上位机1.作品功能及总体方案1.1 功能描述本设计设计并制作了数字温度显示控制系统。主要应用了STC89C原创 2021-12-27 20:06:56 · 30538 阅读 · 0 评论 -
GNSS NMEA-0183协议解析
最近在做gps相关工作,需要解析gps模组输出的nmea数据,获得经纬度等信息,整理了一下nmea各个字段的含义,供大家参考。基本介绍GNSS的全称是全球导航卫星系统(Global Navigation Satellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功能运输卫星原创 2021-12-24 16:16:54 · 19039 阅读 · 4 评论 -
利用闲置笔记本电脑搭建linux服务器并布置自己的网站
背景一直想有一个云服务器,做一些感兴趣的事情,比如搭建一个个人网站,做一些linux上的验证实验,学一下Python等等。之前申请了一个腾讯云服务器,但是到期后续费很贵,就不再使用了,刚好家里有一台闲置的笔记本电脑,就想着自己搭建一台linux服务器,方便自己使用。本文将从以下几个方面介绍一下。1、如何开启SSH服务,方便远程访问;2、如何开启WEB服务器,搭建简单网站;3、如何开启内网穿透,做到外网访问;4、如何配置笔记本不休眠持续运行。准备一台能联网的笔记本电脑,配置能用就行。安装好原创 2021-10-31 17:13:56 · 28418 阅读 · 3 评论 -
C语言编写的一个简单通用的日志框架----支持日志等级,日志颜色,打印到文件等设置
日常工作中常常需要输出日志进行调试,本文提供了一个C语言编写的日志框架。可以输出日志到文件或者是终端,支持日志等级设置,不同日志等级可以设置不同的颜色,另外还可以设置进程名、模块名、函数名等的输出,能够打印毫秒级时间,能够限制文件大小,使用方便,架构小巧灵活。本架构多线程的支持有待验证,每次日志调用都会使用写入,性能有待验证,另外,写满切换文件没有实现。SimpleLog.h/****************************************************************原创 2021-09-27 19:07:47 · 1072 阅读 · 0 评论 -
日志输出显示优化----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 · 436 阅读 · 0 评论 -
C语言时间函数总结
日常编程过程中经常会用到日期和时间,我们常常需要对日期和时间进行转换和处理,C语言time.h中为我们提供了这些函数。一、时间的概念通用协调时间(UTC, Universal Time Coordinated):是一个全球通用的时间标准,使用秒来计算。格林尼治平均时(GMT, Greenwich Mean Time):基本上等同于UTC时间。本地时间:整个地球分为24时区,本地时间是结合各地的时区进行计算的。本地时间 = UTC + 时区差,时区差东为正,西为负,比如北京为东八区,则时区差为+8。原创 2021-06-01 18:55:48 · 11573 阅读 · 5 评论 -
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 · 486 阅读 · 0 评论 -
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 · 3278 阅读 · 0 评论 -
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 · 696 阅读 · 0 评论