自定义博客皮肤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)
  • 资源 (1)
  • 问答 (6)
  • 收藏
  • 关注

原创 如果我是技术团队Leader,我会怎么做?

管理

2023-02-19 23:28:09 102

原创 对程序的思考

程序底层的核心逻辑都是在进行:查找、排序、比大小。查找速率(时间复杂度)体现了程序的能力达成这个查找速率所消耗的CPU、内存是衡量程序好坏的标准

2021-10-12 11:09:20 114

原创 GO 开发常见问题

编译问题如果import的模块使用了cgo,需要设置环境变量CGO_ENABLE=0,这样编译出来的可执行程序才不会依赖动态库,例如:CGO_ENABLED=0 go build -o haha *.go

2021-05-12 22:52:46 196 2

原创 如何理解几何与算术

几何变化的是维度,算术变化的是数

2020-07-08 23:17:10 390

原创 tcpdump抓包

当使用tcpdump抓包时,发现指定的端口上面没有数据,这时候需要注意,想要抓包的端口是否在当前命令行指定的interface(有时候未显示指定时,使用的是默认的interface)上面,例如本人遇到的情况:tcpdump port 2222发现没有数据,检查发现2222端口是在lo上,而上面命令默认使用的是eth0,使用-i指定了lo之后,即能正常抓包:tcpdump -i lo 2222...

2020-04-04 20:29:20 296

原创 如何查看某个端口被哪个进程占用

使用fuser命令例如要查看22端口被哪个进程占用,可以使用如下命令:fuser 22/tcp

2020-04-04 19:44:11 332

原创 对CPU的IO操作的理解

什么是io操作读写cpu寄存器,cache之外的设备叫做cpu的io操作,如内存,硬盘,网卡,但是读写内存很快,一般不将读写内存叫做io操作。

2020-03-31 22:42:20 2696

原创 c++中调用c函数

风两种情况:如果c++和c一同使用g++编译器编译,则c函数的头文件中不需要加extern “C”如果先使用gcc将c文件编译成动态库,再在c++中引用c头文件,则要在c头文件中加入extern “C”...

2020-03-11 23:13:48 150

原创 对“程序”的思考

日常生活当中使用的绝大多数软件或者说程序,底层逻辑都是在做排序和查找,而排序和查找最终都是在比大小,而复杂的排序和查找,就是一个高端的名词“算法”,从这个角度来看,程序员的工作,其实并没有多么的高大上,那些看上去伟大的高科技(飞机,云计算,大数据,人工智能)所涉及的软件技术,其实并非是多么深奥让人遥不可及。...

2020-02-27 21:02:41 153

原创 ubuntu安装配置samba共享

目标将root用户的home目录共享到局域网,通过root用户登录时,可以读写、创建文件和目录步骤安装 sudo apt-get install samba 配置打开/etc/samba/smb.conf修改Share Definitions的[homes]配置read only = nocreate mask = 0775directory mask = 077...

2020-01-21 22:51:47 182

原创 结构体对齐和补齐

上图为32位系统对齐和补齐,绿色为对齐填充,红色为补齐填充32位系统和64位系统的内存对齐和补齐

2020-01-09 21:38:00 208

原创 计算机中,文本文件和二进制文件的区别

文本文件和二进制文件都是存储的二进制0和1,区别在于:文本文件:二进制是以字符编码方式存储的,如utf-8, gbk,规则简单二进制文件:二进制没有以字符编码的方式存储,规则复杂,只有计算机能够理解...

2020-01-09 21:33:54 295

原创 以太网帧的目的地址从哪里来?

以太网帧头有目的地址和源地址,源地址可以通过获取本机的mac地址填写即可,可是,目的地址从哪里获取呢?

2020-01-04 13:34:02 5133

原创 连接的本质是什么?

建立连接需要消耗资源参考

2019-12-26 00:11:44 729

原创 HDLC与BSC

HDLC:面向字符,payload是字符BSC:面向bit,payload是比特流

2019-12-17 23:04:29 398

原创 shell脚本变量

shell脚本中,变量名首次出现时,不需要加${}

2019-12-17 22:58:30 113

原创 项目

项目交付,要输出施工运维手册,否则后期维护,硬件更换,升级,要重新部署系统的时候,运维施工人员会不知道怎么操作

2019-12-17 22:52:22 106

原创 串口同步通信和串口异步通信

串口扫盲贴

2019-12-13 23:51:56 470

原创 符号与编码

unicode和utf-8unicode是一个符号集和,这个符号集和中的每一个符号都有一个唯一编号,这些符号的传输、存储通过utf-8编码的形式实现。ASCIIascii码表使用1个字节就可以表示其所有的符号,所以,ascii的编码方式使用其唯一编号即可,不需要考虑存储、传输时涉及的大小端问题...

2019-12-08 22:21:51 451

原创 通信协议三要素

一、通信接口标准通信接口标准是通信的硬件协议,提供机械的硬件的、电气的、功能性的特性和规程。同时,定义了传输介质和网络接口的连接方式及数据的发送和接收方式。在串行数据接口标准中,最常用的是RS232、RS422和RS485串行接口标准。二、通信格式在串行异步通信中,通信双方必须就通信数据传输方式,传送的数据长度,校验方法和传输速率进行统一设置,这样才能保证双方通信的正确。这种双方进行统一...

2019-12-03 22:34:04 4233

原创 dbus总线思考

dbus每一个对象支持一个或者多个接口,接口是一组方法和信号。dbus上有两种消息,一种是方法,有返回值,一种是信号,没有返回值。well known name 是unique name 的别名。dbus-send --bus=unix:path=/tmp/var/run/mbusd/mbusd_socket --print-reply --dest=org.freedeskto...

2019-11-27 22:53:34 249

原创 rs485和rs232的对比

rs485和rs232的对比参考

2019-11-25 23:05:10 305

原创 串口速率的思考

假设串口使用9600的波特率,起始位和停止位都为1位,数据位8位,那么一帧数据的长度为10bit,9600/10=960 byte/s,即每秒可以传输960个字符,所以,可以说串口传输的速率是很慢的rs-232的峰值传输速率20kbps,rs485的速率可达10Mbps,那么,是什么影响了串口的传输速率?“在规定的误码率下,当波特率、信号线、信号的性质及大小一定时,串行通信的传输距离就一定...

2019-11-17 16:08:21 2463

原创 串口异步通讯的停止位和空闲位都是高电平,为什么要设置停止位位数

如图,两位停止位可以起到时钟同步的作用。因为在一个字节的时间内,收发端的时钟不会相差太大,但是当收发数据多了之后,它们的差距会越来越大,所以,每传输8位数据之后,使用停止位做一次时钟同步,那么收发端的时钟差距被限定在一个区间内,不会造成数据读取错乱。同步是怎样做到的?检测到下跳沿后,开始计时,1.5个时钟周期后,开始采样,这样采样的时间点刚好在一个位的中间。这个图是否正确...

2019-11-14 23:03:10 5939 4

原创 以太网与802.3,wifi与802.11的关系

以太网是802.3的别名,wifi是802.11的别名,或者说以太网是802.3协议的具体实现,而wifi是802.11协议的具体实现

2019-10-28 19:46:57 7084

原创 关于多路复用技术的思考

通信领域中,频分复用,时分复用技术通常只要用来分出两路即可,一路收,一路发,这样,对于全双工通信就有了物理基础。而要解决如何实现一对多通信的问题,则需要采用的是多址技术。因此可以大胆猜测,家里的路由器,不管是2.4G的wifi还是5G的wifi,它们的收发信道,使用的应该是不同的频率。而要实现多个手机同时上网,则要在链路层实现多址。 ...

2019-10-27 15:57:00 323

原创 为什么分布电容会缩短信号的传输距离

在双绞线中,因为差分信号存在电压差,所以会有分布电容,两根线中正负电荷集中在导线边缘,有相互吸引的趋势,这会增大电子运动的阻力,就好比两块磁铁南极和北极分别贴着放在桌面的上下侧,相互吸引,会增大他们运动的阻力。因此分布电容会缩短信号的传输距离...

2019-10-24 00:34:48 666

原创 RS-232串口线与以太网的八芯双绞线的对比,为什么不使用串口线来连接电脑和路由器?

RS-232和以太网线的从物理层的以下几个方面做比较:接口,传输线,传输速率RS-232:常用的为DB-9连接器,9根线,主要用GND,TXD,RXD,收发是不平衡传输,没有时钟线,是异步通信,最大传速率只能达到115.2kbps8芯双绞线:RJ-45接口,8根线,收发各有两根线,采用差分传输,也没有时钟线,是异步通信,七类线最高速率可达10 Gbps如果单从功能上来说,可以使用RS-...

2019-10-24 00:26:17 2890

原创 RS233通信协议与osi七层模型中的物理层,数据链路层的对比

物理层: 什么代表0,什么代表1,波特率是多少,接口的定义,物理接口定义,传输介质,有几根线,使用信号传输还是单端信号传输数据链路层: 链路,就是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。 举个例子: 小明在金华,需要去莫斯科的某地,假设小明的路线: 出发地 -----------汽车...

2019-10-20 22:22:19 1598

原创 通信协议思考

学习一个新的通信协议要结合协议的最初的开发目的,比如http协议,最初使用于互联网,web,则要结合web的使用场景去理解这个协议

2019-07-29 22:41:31 82

原创 Linux命令行管道

外部链接

2019-07-23 08:58:09 294

原创 I2C总线的两根线

SDA:Serial Data Line 串行数据线SCL:Serial Clock Line 串行时钟线

2019-06-09 11:12:07 3986

原创 设置elf文件链接库的路径

patchelf --set-rpath …/…/openssl/lib/ ./libwebsockets.so.12

2019-03-20 01:10:14 670

原创 linux环境下抓包保存到cap文件

tcpdump -i eth0 port 80 -w tcpdump.cap

2019-03-20 01:07:00 2727

原创 深挖通信底层原理

原理分析假设:a是客户端,b是服务端tcp连接是全双工的,全双工中重要的一点就是消息可以从a到b,也可以从b到a。第一次握手及第二次握手确保a知道a发的消息b可以收到第二次握手及第三次握手确保b知道b发的消息a可以搜到...

2019-02-26 22:52:01 603

原创 socket通信实例

//server#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#define BACK_LOG 20#define BUF_SIZE 64int m...

2019-01-11 20:12:20 244

原创 TCP和UDP区别

UDP由于不需要连接,所以不需要listen(侦听,做好接受连接前的准备工作)和accept(接受连接请求)

2019-01-11 20:11:57 100

原创 Makefile

出现以下条件,Makefile文件中的命令会被执行1、目标文件不存在2、目标文件所依赖的文件有更新Makefile格式:目标文件:依赖文件[tab] 命令如:hello:hello.o a.o gcc -o hello.o a.ohello.o:hello.c gcc -o hello.o -c hello.ca.o:a.c gcc -o a.o...

2019-01-11 20:11:33 198

原创 进程间通信-共享内存实例

//shmdata.hstruct shm_st{ int flag; //0可读不可写,1可写不可读 char text[BUFSIZ];};   //shmwrite.c#include <stdio.h>#include <sys/ipc.h>#include <sys/shm.h>#include "shmdata...

2019-01-11 20:10:39 236

原创 shell脚本比较

(1) 字符串比较:= 或 ==:比较两个字符串是否相同,相同则为“是”。!=:比较两个字符串是否相同,不同则为“是”。-n:比较字符串的长度是否大于0,如果大于0则为“是”。-z:比较字符串的长度是否等于0,如果等于0则为“是”。(2)数字比较:-eq:相等。-ge:大于等于。-le:小于等于。-ne:不等于。-gt:大于。-lt:小于。不能使用&...

2018-11-28 23:45:13 1521

串行通讯起始位、数据、奇偶和停止位透解.doc

串行通讯起始位,数据位,停止位详解。停止位有什么作用?起始位有什么作用?如果没有停止位,只有0.5个时钟周期的空闲位,那么,会产生什么样的后果?

2019-11-14

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

TA关注的人

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