- 博客(33)
- 资源 (13)
- 收藏
- 关注
转载 累加和校验算法 CheckSum算法
累加和校验算法 CheckSum算法因为外界总会对电路存在或多或少的干扰,对于数字信号,很可能导致传输的数据出现千差万别。对于很多需要传输数据的场合,尤其是一些数据可能会影响一些硬件的动作(诸如嵌入式的一些设备、机器人等),错误的数据可能会带来一些隐性风险今日主角:累加和校验算法,又名CheckSum算法这种算法的实现:发送方:对数据累加,得到一个数据和,对和求反,即得到我们的校...
2019-03-22 16:12:10 9699
原创 UDP协议一次发送的最大数据量分析
一、从MTU角度看 在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的。 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,运输层,应用层. UDP属于运输层,下面我们由下至上一步一步来看: 以太网(Ethernet)数据帧的长度必须
2017-10-17 17:15:42 17416
原创 iftop 监控网卡实时流量
在Linux中,top命令可以查看一些资源情况,cpu 内存等,还能看到是谁消耗内存或cpu,但有些情况发现cpu 内存不吃紧,服务器依然很慢我们需要从其他角度分析问题,就是流量统计,接下来我们介绍iftop工具iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等iftop界面相关说明界面上面显示的是类似刻度尺的刻度范围,为显示
2017-10-13 14:15:06 2948
原创 ubuntu软件菜单栏不见了怎么办
ctrl+alt+F1 进命令行,登入后输入 sudo service lightdm restart 重启 lightdm。如果上面的不行的话就重装 unity,依次输入:sudo apt-get updatesudo apt-get install --reinstall ubuntu-desktopsudo apt-get install unity
2017-10-09 14:24:51 1906
原创 shell变量(字符串)间的拼接
对于变量或者字符串的连接,shell提供了相当简单的做法直接放到一起或用双引号即可。例如$a, $b,有c=$a$bc=$a"xyz"$bc=$a$b.txt
2017-09-22 10:27:16 82085
原创 mygetline 实现
#include #include #include ssize_t mygetline(char **lineptr, size_t *n, FILE *stream){if(*lineptr==NULL){*n=50;*lineptr=malloc(*n);}int ch;int i=0;while(1){ch=fgetc(stream);if(ch==EOF)return -1;if(i >
2017-08-31 18:13:07 622
原创 LCD6210字符型液晶显示器 (2)
实例首先在第一行显示“I love MCU!”,第二行显示“LCD1602 Test!”。延时一段时间,清屏。然后在第一行显示“Welcome to my lcd6210!”,显示方式是从屏幕右面移入,左面移出。周而复始#include#includetypedef unsigned int u16;typedef unsigned char u8;#define DA
2017-08-15 15:25:32 535
原创 LCD6210字符型液晶显示器 (1)
LCD1602接口LCD1602是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780或者其它兼容芯片LCD12864液晶显示器,它是一种图形点阵显示器,能显示的内容比LCD1602要丰富得多,除了普通字符外,还可以显示点阵图案,带有汉字库的还可以显示汉字,它的并行驱动方式与LCD1602相差无几 它的16条引脚定义如下: *VSS:电源地信号引脚
2017-08-15 15:21:06 4522
原创 开源项目url
Open source MQTT client (https://github.com/eclipse/paho.mqtt.c)Open source JSON command parser (https://github.com/DaveGamble/cJSON)
2017-05-27 16:28:05 513
原创 MQTT
MQTT简介MQTT全称叫做Message Queuing Telemetry Transport,意为消息队列遥测传输,是IBM开发的一个即时通讯协议。由于其维护一个长连接以轻量级低消耗著称,所以常用于移动端消息推送服务开发。MQTT特性MQTT具有如下特性:使用发布/订阅消息模式,提供一对多消息发布;对负载内容屏蔽的消息传输;使用
2017-05-27 16:24:10 599
原创 CSMA/CD
CSMA/CD(Carrier Sense Multiple Access/Collision Detect)即载波监听多路访问/冲突检测机制。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。CSMA/CD是英文carrier sense multiple access/collisio
2017-05-27 11:26:00 1896
原创 多路访问控制(MAC )协议
多路访问控制(MAC Multiple Access Control Protocol)协议有3大类1. 信道划分的MAC协议:时间(TDMA)、频分多址(FDMA)、码片(CDMA)划分在传统的无线电广播中,均采用频分多址(FDMA )方式,每个广播信道都有一个频点,如果你要收听某一广播信道,则必须把你的收音机调谐到这一频点上
2017-05-27 10:12:54 2416 3
原创 Linux环境下耗尽cpu占用率的脚本
一行命令让CPU占用率达到100%for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done说明:cat /proc/cpuinfo |grep "physical id" | wc -l 可以获得CPU的个数, 我们将其
2017-05-02 15:30:21 10117 2
原创 find 的详细使用
find=========================(1)列出文件路径--------------------$>find$>find /home/test列出当前或给定目录下所有文件的绝对路径,包括目录(2)-name/-iname--------------------$>find /home/test -name *.c列出所有后缀为.c
2017-04-14 18:23:01 250
原创 ubuntu下安装配置tftp
安装tftpapt-get install tftp-hpa tftpd-hpa建立传输目录mkdir /tftpboot获取权限chmod 777 /tftpboot修改配置文件vi /etc/default/tftpd-hpa3 1 # /etc/default/tftpd-hpa
2017-02-28 17:16:56 272
原创 SSHD服务的搭建及使用
SSHD服务的搭建 SecureShell 远程控制主机 SecureCRT客户端 sshd安装 sudo apt install openssh-server 客户端访问服务端 打开SecureCRT
2017-02-06 10:28:57 592
原创 Samba 服务器的配置使用
Samba 服务器的配置使用1.sudo vim /etc/init.d/smb.conf 添加 261[Lhd_Share] 262 comment = MY samba Share 263 path = /mnt/hgfs/pro 264 browseable
2017-02-06 10:24:16 227
原创 SNMP网络管理协议
网络管理系统的组成1. 被管理节点(设备)--被监视的设备2. 网络管理代理 ---是驻留在网络设备中的软件模块,对来自管理站的信息查询 和 动作执行 的请求作出响应, 主动向管理站提供一些重要的非请求信息3. 网络管理工作站 ---信息的接收点,指令的发送点(与在不同的被管理节点中的代理进行通信,并显示这些代理状态的中心设备)4.网络管理协议 ----
2017-02-06 09:27:09 5619
原创 NFS的安装配置
网络文件系统是一种将远程主机上的分区(目录)通过网络挂在到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样 对远程主机的共享分区(目录)进行操作。在嵌入式Linux的开发过程中,开发者需要在Linux服务器上进行所有的软件开发,交叉编译后,通过FTP方式将可执行文件下载到开发板中运行,但这种方式不但效率低下,而且无法实现在线的调试。因此,
2017-01-22 15:36:22 239
原创 linux 硬链接 软链接
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)即软链接。默认情况下,ln命令产生硬链接。ln -s f1 f3 #创建 f1 文件的软链接 f3ln f1 f2 #创建f1 文件的硬链接文件 f2ls -li # -i参数显示文件的inode节
2017-01-20 17:19:48 826
原创 vi 使用
常用的vim使用技巧============================================ 1.关于搜索 /: 后面跟要查找的东西,在文件中向前搜索 ?: 后面跟要查找的东西,在文件中向后搜索 n: 向前重复搜索 N: 向后重复搜索============================================ 2.关于移动
2017-01-20 11:35:21 242
转载 usb的pid和vid
根据USB 规范的规定,所有的USB设备都有供应商ID(VID )和产品识别码(PID ),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定。 VID和PID通常情况下有两种存储方式,第一种是主控生产商的VID和PID,存储在主控的bootcode中;第
2016-10-27 18:38:25 1062
原创 brctl使用
# brctl addbr br0 (建立一个逻辑网段,名称为br0) 建立一个逻辑网段之后,我们还需要为这个网段分配特定的端口。在Linux中,一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为eth1,eth2。我们需要把每个网卡一一和br0这个网段联系起来,作为br0中的一个端口。# brctl addif br0 eth1 (让eth1成为br0的一个端口)
2016-10-27 16:27:33 2551
原创 内存泄漏与内存溢出的区别
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会
2016-09-23 10:00:17 236
原创 dkpg命令的用法
安装软件命令行:dpkg -i 示例:dpkg -i avg71flm_r28-1_i386.deb显示所有已经安装的Deb包,同时显示版本号以及简短说明命令行:dpkg -l显示一个包安装到系统里面的文件目录信息命令行:dpkg -L package-Namedpkg -L samba
2016-09-09 10:05:19 1249
原创 在picocom中使用tftp操作文件
在windows下安装tftp服务器udhcpc 命令使板子重新获取ip在picocom中输入tftp# tftpBusyBox v1.22.1 (2014-08-21 15:41:18 CST) multi-call binary.Usage: tftp [OPTIONS] HOST [PORT]Transfer a file from/to tftp server
2016-09-08 14:22:54 1915
原创 串口调试工具picocom
串口调试工具picocom安装(ubuntu下):$ sudo apt-get install picocom使用:$ picocom -b 115200 /dev/ttyUSB0(/dev/ttyUSB0 为串口设备文件,如果用的不是USB转串口,则为 /dev/ttyS*)(可以设置一个别名,如 alias pc='picocom -b 115200 /
2016-09-08 14:21:10 3578
原创 Ubuntu 在右键快捷菜单中添加“Open in Terminal”
Ubuntu12.04 在右键快捷菜单中添加“Open in Terminal”解决方案:1.打开一个Terminal(ctrl+alt+t),输入如下指令 sudo apt-get install nautilus-open-terminal2.使用以下指令来重启Nautilus nautilus -q3.在任意位置,右键鼠标就可以看到Open
2016-09-08 14:14:43 1288
原创 RSA
服务器版本控制是Git,下载服务器端代码需要RSAusr@pc1:~$ ssh-keygen -t rsa//将.ssh/id_rsa.pub复制到(存放目录dir)中usr@pc1:~$ cp .ssh/id_rsa.pub 存放目录
2016-09-08 14:12:23 224
原创 交叉编译工具执行时候出现错误
安装交叉编译工具执行arm-linux-gcc test.c -o test时候出现错误在linux下运行程序时,发现了error while loading shared libraries这种错误./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No s
2016-09-08 13:56:13 912
原创 snprintf函数的使用
#include int snprintf(char *str, size_t size, const char *format, ...); Return value Upon successful return, these functions return the number of characters printed (excluding the nu
2016-09-08 10:45:52 465
原创 Ubuntu下键盘输入错乱问题,输入双引号输出的是@符号,输入#号输出的是未知语言的字符
装完搜狗后,键盘开始出现混乱,切换到英文输入法,输入双引号输出的是@符号,输入#号输出的是未知语言的字符。网上有的说在 system - keyboard - Input Source 下看看是否是非英语系国家的键盘布局。我把Chinese键盘删了,单独试过US,又试过UK的键盘布局,问题依旧。于是到 Fcitx Configuration 查看(如果你安装过fcitx
2016-08-26 11:42:05 6198 3
原创 Makefile 选项 CFLAGS LDFLAGS LIBS
CFLAGS的作用 1. 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include 2. 编译选项 如: CFLAGS := -Wall -DDEBUG -DUSE_TEST_FILELDFLAGS: 1. gcc 等编译器会用到的一些优化参数, 2. 指定库文
2016-08-25 18:47:48 999
mosquitto 源码
2018-12-06
netfilter/iptables(简称为iptables)
2018-01-09
android源代码app通过蓝牙与蓝牙led灯通信,实现控制
2017-09-29
ugw log日志上传-shell脚本_curl
2017-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人