自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangpengqi的专栏

希望我的博客可以给你带来财富

  • 博客(694)
  • 资源 (4)
  • 收藏
  • 关注

转载 什么是UPNP协议:UPNP协议作用及启用路由器UPNP支持的方法详细介绍

目录 [隐藏] UPNP简介 基本概念 官网解释 以下是微软官方网站对UPnP的解释: 以下是BC官方网站对UPnP的解释: UPnP是用来干什么的? 经典应用 网络地址转换 NAT 穿越技术 实际应用 UPnP协议特色 UPnP协议的层 UPnP协议内部的详细情况 设备: 服务: 控制指针 UPnP的完整工作过程 地址问题: 发现设备...

2018-03-07 14:55:57 9100

转载 UPnP基本原理介绍

随着计算机产业以及计算机网络技术的迅猛发展,越来越多嵌入式设备的出现和家庭网络的发展,实现各种设备的互联互通已经成为人们的迫切需求,而实现家庭网络互联互通的关键是家庭网络的中间件技术。业界各大厂商都提出了自己的解决方案,其中以微软提出的UPnP最具有发展前途,也获得了最广泛的支持,目前UPnP基本是家庭网络设备必须支持的特性之一。UPnP是通用即插即用(Universal Plug and P...

2018-03-07 14:54:59 447

转载 关于Arduino Mega2560的最基本介绍

Arduino Mega 2560是基于ATmega2560的主控开发板。Arduino Mega2560是采用USB接口的核心电路板。具有54路数字输入输出,适合需要大量IO接口的设计。处理器核心是ATmega2560,同时具有54路数字输入/输出口,16路模拟输入,4路UART接口,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。板上有支持一个主

2017-11-16 19:55:32 9129

转载 Arduino的详细介绍(基于Mega2560)

很早之前入手了一块Arduino Mega2560,当时只是认为其操作简单且更加人性化,开源方便,想了解了解。最新搞项目想用Arduino试试控制8路舵机,但网上找的Servo库大多说只支持9,10接口,很是恼火(资料怎么写就怎么搬,到底是不是只支持9,10接口有几个知道?又有几个知道为什么?)。另外本人长期逛各种论坛,发现国内民间创客极客水平还是普遍低下的,Arduino虽说开源但国内确

2017-11-16 19:54:22 32255 2

转载 MWC(2) Multiwii初学者详细准备

1.1 软件准备Arduino IDE 官方下载链接:https://www.arduino.cc/download_handler.php 或者Arduino社区资源:http://www.arduino.cn/thread-5838-1-1.html 建议下载最新版的安装文件,免安装的不会关联.ino文件,每次都要选有点麻烦。Visual Studio 

2017-11-16 19:38:52 774 1

转载 RTMP流媒体播放过程

本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程。注意:RTMP中的逻辑结构RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection);第二步,建立一个网络流(NetStream)。其中,网络连接代表服务器端应用程序和客户端之间基础的连通关系。网络流代表了发送多媒体数据的通道。服务器和客户端之间只能建立一个网络连接,但是基于

2016-02-23 22:45:37 820

转载 RTMP规范简单分析

RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1 消息消息是RTMP协议中基本的数据单元。不同种类的消息包含不同的Message Type ID,代表不同的功能。RTMP协议中一共规定了十多种消息类型,分别发挥着不同的

2016-02-23 22:43:51 592

转载 优先级反转实验,使用信号量实现【RT-Thread学习笔记 5】

RTOS中很经典的问题。就是在使用共享资源的时候,优先级低的进程在优先级高的进程之前执行的问题。这里模拟这种情况。下面的实验模拟了优先级反转的情况:先定义三个线程://优先级反转实验rt_sem_t sem;rt_uint32_t t1_count = 0,t2_count = 0,worker_count = 0;rt_thread_t t1,t2,worker

2016-01-23 22:12:12 847

转载 线程让出实验【RT-Thread学习笔记 4】

API: rt_thread_yield线程函数中调用,本线程释放MCU。如果此时有别的相同优先级的任务整处于等待状态,将获得MCU使用权。线程让出就是给OS增加一个任务调度的机会。创建两个线程,观察他们的结果://线程让出试验void yield_test1(void* parameter){ rt_uint32_t count = 0;

2016-01-23 22:05:17 1468

转载 线程优先级抢占实验【RT-Thread学习笔记 3】

同时处于就绪状态的线程,优先级高的先执行。高优先级就绪时,低优先级任务让出CPU,让高优先级任务先执行。创建两个任务函数://线程优先级抢占void thread1_entry(void *parameter){ rt_uint32_t count = 0; while(1) { for(;;count++)

2016-01-23 22:03:18 1433

转载 RT-Thread的线程(任务)处理【RT-Thread学习笔记 2】

RT-Thread中使用线程这个概念,而不是任务。两者相似,我在这里把他的线程当作任务来理解了1、任务处理:动态任务相关API创建任务:rt_thread_create函数,创建任务之后会返回rt_thread_t类型的任务ID创建之后启动任务:rt_thread_startup删除任务:rt_thread_delete任务延时函数:rt_threa

2016-01-23 21:18:28 2231

转载 熟悉RT-Thread的软硬件环境【RT-Thread学习笔记 1】

软件环境:Win7+MDK4.7.2硬件环境:STM32F4Discovery所用OS代码:RT-Thread2.0.0 beta 下载地址: https://github.com/RT-Thread/rt-thread/archive/v2.0.0_beta.zip                 解压缩后,使用\rt-thread-2.0.0_beta\bsp\stm3

2016-01-23 21:13:15 3202

转载 RT-Thread下的串口驱动程序分析

编写本文稿的目的,在于通过分析stm32平台上的串口中断源码,学习RTT中如何编写中断处理程序如何编写RTT设备驱动接口代码了解串行设备的常见处理机制先以RTT官方源码中的STM32 BSP包来分析。rt-thread\bsp\stm32f10x 下,涉及的文件为:usart.cusart.hserail.cserail.

2016-01-23 21:11:44 5785

转载 pixhawk学习笔记---创建新的应用程序

最近转到无人机领域的开发中,感觉和以往搞android驱动差别比较大,以前搞android驱动的时候网上的资料满天飞,但是现在关于飞控相关的资料却少之又少,一些资料都是从原理上入手,讲的是天花乱坠,看半天也不知所云,我打算从实际应用的角度来记录我飞控代码的学习之路,希望我能坚持下来。首先看一下飞控代码的组成架构:飞控代码以nuttx实时操作系统为核心, 驱动层通过采集加

2015-07-03 21:12:00 2396

转载 pixhawk学习笔记-----mavlink

mavlink协议一帧数据的长度为8到263个字节。其具体的解析如下所示:字节的索引        值                         含义    0                    0xFE(V1.0)           帧头,表示一帧数据的开始    1                    0 ~ 255                

2015-07-03 21:10:20 3818

转载 NuttX 启动流程

(嵌入式 实时操作系统 rtos nuttx 7.1 stm32 源代码分析)NuttX 启动流程转载请注明出处:http://blog.csdn.net/zhumaill/article/details/23261543[ruby] view plaincopy__start--                           

2015-07-03 21:03:51 2491

转载 Mavlink 协议硬解析主要代码

2013-08-16 11:26 1744人阅读 评论(1) 收藏 举报[cpp] view plaincopyint MAVLinkProtocol::ParseMsg(BYTE arMsgBuf[], MSGVALUE *pMavMsg, CString &strMsgText)  {      // Function    :   

2015-07-03 20:51:16 8131 2

原创 ARP C代码实现

/*************************************************************************** * * Copyright (C) 2007 by qzc * * * qzc1998@126.com * * *

2015-05-29 20:49:37 4258 2

转载 HDVPSS模块介绍及使用

HDVPSS模块即High-Definition Video Process Sub System,主要用于视频的capture、deinterlacing、scaler、up/down sample、graphics、display等,由Media Controller Dula ARM Cortex-M3系统中的VPSS-M3控制。软件工程师在做程序的时候需要注意各个模块支持数据的输入格式和输

2015-01-13 14:37:40 1342

转载 Netra基于Rdk平台的软件框架设计

=======================================================================================================转载请注明原文地址:http://blog.csdn.net/crushonme/article/details/10245169========================

2015-01-13 13:56:46 670

转载 Linux字符设备与块设备的区别与比较

Linux字符设备与块设备的区别与比较Linux中I/O设备分为两类:块设备和字符设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。(1) 字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,调制解调器是典型的字符设备。(2) 块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据

2015-01-13 13:55:15 710

转载 platform平台设备驱动简化示例代码

driver.c:#include #include #include #include #include #include #define DRIVER_NAME "my_dev"static int my_probe(struct device *dev){ printk("driver found device !!\n"); return 0;}

2014-02-25 16:50:45 1012

转载 platform_driver_register()--如何match之后调用probe

int platform_driver_register(struct platform_driver *drv){ drv->driver.bus = &platform_bus_type;/*关联总线*/ /*关联driver的设备方法*/ if (drv->probe) drv->driver.probe = platform_drv_probe;

2014-02-25 16:42:02 2722

转载 platform_device_系列函数及其设备注册的作用

platform_device_系列函数,实际上是注册了一个叫platform的虚拟总线。使用约定是如果一个不属于任何总线的设备,例如蓝牙,串口等设备,都需要挂在这个虚拟总线上。river/base/platform.c//platform设备声明struct device platform_bus = { .bus_id = "platform",};EXPO

2014-02-25 14:44:44 1650

转载 Device Drivers, Part 7: Generic Hardware Access in Linux

This article, which is part of theseries on Linux device drivers, talks about accessing hardware in Linux.Shweta was all jubilant about her character driver achievements, as she entered the Linu

2014-02-21 10:09:44 836

转载 交换机知识--生成树协议

STP(Spanning Tree Protocol,生成树协议)是根据IEEE 802.1D 标准建立的,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文所造成的报文处理能力下降的问题发生。ST

2014-02-13 12:02:47 2417

转载 wireshark 过滤表达式

wireshark 官方文档 扑捉过滤http://wiki.wireshark.org/CaptureFilters显示过滤http://wiki.wireshark.org/DisplayFilters转载文章原文http://openmaniak.com/cn/wireshark_filters.php正如您

2014-02-12 19:14:10 1004

转载 Linux实现的IEEE 802.1Q VLAN

第一部分:VLAN的核心概念说起IEEE 802.1q,都知道是VLAN,说起VLAN,基本上也没有盲区,网络基础。然而说到配置,基本所有人都能顺口溜一样说出Cisco或者H3C设备的配置命令,对于Linux的VLAN配置却存在大量的疑问。这些疑问之所以存在我觉得有两点原因:1.对VLAN的本质还是没有理解。不管你的Cisco/H3C命令敲得再熟练,如果看不懂Linux的vconfig

2014-01-03 15:38:33 919

转载 linux下I2C驱动架构全面分析

I2C 概述  I2C是philips提出的外设总线.  I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线。  因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中。  linux下的驱动思路  在linux系

2013-12-31 11:04:31 26658 14

转载 Openflow协议通信流程解读

前言接触了这么久的SDN,Openflow协议前前后后也读过好多遍,但是一直没有时间总结一下自己的一些见解。现在有时间了,就写一写自己对Openflow协议通信流程的一些理解。SDN中Switch和controller在SDN中很重要的两个实体是Switch跟Controller。Controller在网络中相当于上帝,可以知道网络中所有的消息,可以给交换机下发指令。Swi

2013-12-30 19:01:50 19749 6

转载 Openflow协议规范

1 总述一个Openflow交换机包括一个或者多个流表flow table和一个组表group table。每个流表中每个流条目包括三个部分:(1) 匹配match—使用ingress port,packet header以及前一个flow table传递过来的metadata;(2) 计数counter---对匹配成功的包进行计数;(3) 操作instruction—修改action s

2013-12-18 19:59:30 2497

转载 OpenFlow概述

OpenFlow简介  通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议。OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTable进行转发,FlowTable本身的生成、维护、下发完全由外置的Controller来实现,注意这里的FlowTable并非是指IP五元组,事实上OpenFlow 1.0定义了包括端口号、VLAN、L2/L3/L

2013-12-18 19:58:47 21607

转载 初识OpenFlow协议

OpenFlow是一种交换技术,刚开始它是2008年斯坦福大学的一个研究项目,但现在它已经引起了网络设备供应商和大型交换网络管理员的广泛关注。使用OpenFlow协议建立软件定义网络,可以将网络作为一个整体而不是无数的独立设备进行管理。传统交换机使用生成树协议或其他一些新标准(如多链路透明互连,TRILL)来确定数据包转发路径。而OpenFlow将转发决策从各个交换机转移到控制器上,这一般

2013-12-18 19:53:27 1921

转载 TCP的流量控制和拥塞控制

TCP的流量控制1.概述     所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。     如图所示,说明了利用可变窗口大小进行流量控制。设主机A向主机B发送数据。双方确定的窗口值是400.再设每

2013-12-17 18:09:24 2179

转载 TCP可靠传输的实现

1.概述     为方便描述可靠传输原理,假定数据传输只在一个方向上进行,即A发送数据,B给出确认2.以字节为单位的滑动窗口     TCP的滑动窗口是以字节为单位的。为了便于说明,字节编号取得很小。先假定A收到B发来的确认报文字段,其中窗口是20字节,而确认号是31字节。(表明B期望接收到的下一个序号是31,序号30之前的数据已经收到了)。如图所示。A

2013-12-17 17:03:52 7096

转载 TCP协议疑难杂症全景解析

说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《Unix网络编程》以及Linux源代码之外,

2013-12-17 16:40:30 932

转载 模块的基本结构

handler模块简介相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识。基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-balancer。Handler模块就是接受来自客户端的请求并产生输出的模块。有些地方说upstream模块实际上也是一种handler模块,只不过它产生的内容来自于从后端服务器获取的,而非在本机产

2013-12-12 11:54:58 1653

转载 nginx的模块化体系结构

nginx的内部结构是由核心部分和一系列的功能模块所组成。这样划分是为了使得每个模块的功能相对简单,便于开发,同时也便于对系统进行功能扩展。为了便于描述,下文中我们将使用nginx core来称呼nginx的核心功能部分。nginx提供了web服务器的基础功能,同时提供了web服务反向代理,email服务反向代理功能。nginx core实现了底层的通讯协议,为其他模块和nginx进程构建了基

2013-12-12 11:36:33 2610

转载 用Openswan组建Linux IPSec ---第二部分

用Openswan组建Linux IPSec                                                          -----Linux下建立IPSEC的VPN第二部分(续第一部分) 四、下面我们给出使用RoadWarrior和使用证书的配置#RoadWarrior(right)conn road    left=192.168.

2013-12-11 19:28:50 1500

转载 用Openswan组建Linux IPSec ---第一部分

用Openswan组建Linux IPSec                                               ---Linux下建立IPSEC的vpn第一部分1.概述2.安装Openswan3.认证和配置    3.1 RSAsig认证方式的配置    3.2 x.509证书认证的配置    3.3 RoadWarrior模式的配置

2013-12-11 19:26:02 4044

candence16.6安装破解记录

个人安装candence16.6记录,已经破解成功,希望给大家做参考

2013-04-06

candence16.6安装破解文件

自己安装candence16.6过程中使用的破解文件,希望可以给大家有帮助。哈哈

2013-04-06

计算机程序设计艺术卷一

计算机程序设计艺术,非常不错的一本书。值得一看。

2012-08-15

ICMP ping 实现

ping 实现 ICMP

2015-06-01

空空如也

空空如也

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

TA关注的人 TA的粉丝

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