自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(139)
  • 问答 (1)
  • 收藏
  • 关注

原创 数字传输技术

问答原理类型: 1、针对PDH的哪些弱点发展出SDH?SDH的缺点有哪些? (1) 接口方面1)只有地区性的电接口规范,不存在世界性标准2)没有世界性标准的光接口规范(2)复用方式1)从高速信号中分/插出低速信事情要一级一级的进行2)由于低速信号分/插到高速信号要通过层层的复用和解复用过程,这样就会使信号在复用/解复用过程中产生的损伤加大,使传输性能劣化,在大容量传输时

2016-11-25 21:22:39 2489

原创 linux常用操作命令

常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p           创建目录,若无父目录,则创建p(parent)cd               切

2016-11-24 22:03:23 273

原创 无线传感网初识及其结构示意图

无线网络可分为两种。一种是有基础设施的网络,需要固定基站,比如手机通信这种无线蜂窝网就需要高大的天线和大功率基站来支持;一种是无基础设施网包括移动Ad Hoc网络和无线传感器网络(WSN),这种网络节点是分布式的没有固定基站,注意它仍然是有基站的只是没有专门的固定基站。Ad Hoc网络指的是无线自组织网络,移动Ad Hoc网络的终端是快速移动的。而无线传感器网络的节点是静止的或者移动很慢。无线传感

2016-11-23 23:01:36 6160

原创 SDH

SDH STM-1 为速率155.520Mbps 的同步传输模块(STM-SynchronousTransfer Module),是SDH信号的最基本模块。STM-1,4,16,64     速率,155.520MB/S(包含63个2M或者3个34M)                                                  622.080MB/S(包含252个

2016-11-22 22:07:22 3781

转载 线性表的链式存储结构

之前实现了线性表的顺序存储方式发现顺序存储方式是存在缺陷的,就是插入和删除时需要移动大量的元素,显而易见这种顺序存储的方式需要耗费大量的时间,那仫我们有没有办法解决它呢?这就是我今天要实现的线性表的链式存储结构...       我们知道在顺序表中它的物理存储位置是连续的所以当我们以顺序表的形式实现线性表的插入和删除时我们需要移动大量的元素; 假设线性表中的每个数据存储的位置存在间隙我们是

2016-11-21 22:10:24 305

原创 线性表

一、线性表顺序存储结构的优缺点优点:1、  无需为表中元素之间的逻辑关系二增加额外的存储空间2、  可以快速的存取表中任意位置的元素缺点:1、  插入和删除操作需要移动大量元素2、  当线性表长度变化较大时,难以准确确定存储空间的容量3、  容易造成存储空间的碎片

2016-11-20 21:01:56 119

原创 数据结构—线性表顺序存储插入和删除操作

线性表的操作:1、InitList(*L):初始化操作,建立一个空的线性表L2、ListEmpty(L):判断线性表是否为空,如果为空,返回true,否则返回false           3、ClearList(*L):将线性表清空           4、GetElem(L,I,*e):将线性表中的第i个位置元素值返回给e              5、LocateElem(L

2016-11-19 22:18:52 5004

原创 数据结构—线性表1

一、线性表定义:由零个或多个数据元素组成的有限序列。强调:1、线性表是一个序列,也就是说元素之间是有先来后到的     2、若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继     3、线性表是有限的,即他能够处理的元素是有限的 举列:请问公司的组织架构是否属于线性关系?答:不是。这个架构是一对多的关系,不属于线性表 二、

2016-11-18 12:07:48 304

原创 数据结构—算法的时间复杂度及空间复杂度

3、时间复杂度和空间复杂度算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。关键:执行次数=时间一般情况下,随着输入规模n的增大,T(n)增长最慢的算法为最优算法 如何分析一个算法的时间复杂度?(1)      用常数1取代运行时间中的所有加法常数(2)      在修改后的运行

2016-11-17 11:10:24 320

原创 数据结构—绪论及时间空间复杂度

一、绪论1、  什么是数据结构?程序设计=数据结构+算法,再简单的来说数据结构就是关系,是数据元素相互之间存在的一种或多种特定关系的集合2、  数据结构的分类逻辑结构:数据对象中数据元素之间的相互关系物理结构:数据逻辑结构在计算机中的存储形式3、  逻辑结构分类集合分类:集合结构中的数据元素除了同属一个集合外,无其他关系线性结构:数据元素是一对一的关系树形结构:

2016-11-16 18:18:55 277

原创 Linux 数据库编程

#include #include #include void create_table(sqlite3 *db) { char *sql = "create table if not exists mytable (id integer primary key, name text)"; char *errmsg; int ret;

2016-11-15 22:09:29 248

转载 STDIN_FILENO的作用及与stdin 的区别

1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。2.区别1)数据类型不一致:

2016-11-14 22:24:54 356

转载 Linux C 网络编程——多线程的聊天室实现(服务器端)

服务器端的主要功能:       实现多用户群体聊天功能(此程序最多设定为10人,可进行更改),每个人所发送的消息其他用户均可以收到。用户可以随意的加入或退出(推出以字符串“bye”实现),服务器也可以进行关闭。服务器端的程序结构:       总共有三个函数:主函数(main),实现服务器端的初始化,接受连接;消息处理函数(rcv_snd),接受某一用户的消息,将其进行简

2016-11-13 18:24:05 570

转载 网络编程

2.UDP网络模型 二、网络基础——套接字是一种特殊的IO接口,是一种文件描述符;是一种常用的进程之间的通信,本地,不同主机之间通信;Socket可用网络地址结构{协议,本地地址,本地端口}表示。1.套接字的类型①流式套接字SOCK_STREAM提供可靠的、面向连接的通信流,保证数据传输的可靠性和按序收发。TCP属于流式;

2016-11-12 22:03:24 174

原创 Linux 基于父子进程的TCP服务器应用编程

#include #include #include #include #include #define PORTNUM 3333int main(){ int sockfd,sock_fd,ret,readbytes; char buf[512]; struct sockaddr_in my_addr,your_addr; int addrlen

2016-11-11 20:24:10 280

转载 Linux UDP

UDP前面已经讲过tcp网络通信,然后tcp每次通信都要进行三次握手连接,虽然传输的可靠性比较高,但对于一些及时性的数据的传输显得太过费时,所以就有了UDP这种无连接通信,但数据容易出错。那些函数我这里就不讲了,直接看我上一个博客就行,我这里直接附例子了。udpserver.c[objc] view pla

2016-11-10 22:01:39 116

转载 Linux 密码问题

刚才无意间看到了关于Linux下输入密码的问题,一寻思也是,以后可能得用到,了解一下。这里的方法是使用库curses.h中的函数,更多的了解请看:http://fanqiang.chinaunix.net/a4/b2/20020626/060200258.html安装 Ncurses  库:    RHEL / Fedora / CentOS Linux

2016-11-09 16:30:11 238

转载 奇偶校验、CRC校验、海明码校验

一、奇偶校验根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。 校验方法 奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为

2016-11-08 18:41:47 1501

原创 Linux 网络编程2

8、  大端模式、小端模式大端模式:低字节放在低地址,高字节放在高地址小端模式:低字节放在高地址,高字节放在低地址字节序的转化函数头文件:#include 从主机发送到网络:uint32_t  htonl(uint32_t  hostin32);//32位数据传送,从主机到网络                  uint16_t  htonl(uint16_t  hosti

2016-11-07 19:13:22 223

原创 Linux 网络编程1

1、  socket函数的作用:建立一个新的socket套接字函数的原型:int socket(int domain,int type, int protocol)函数的参数:domian:表示使用何种地址类型                   AF_INET,IPV4网络协议                   AF_INET6,IPV6网络协议           t

2016-11-05 21:41:01 479

转载 线程之间的互斥和同步

概述   由于线程共享进程的资源和地址空间,因此在对这些资源进行操作时,必须考虑到线程间资源访问的同步与互斥问题。这里主要介绍Posix中两种线程同步机制,分别为互斥锁和信号量。这两个同步机制可以通过互相调用对方来实现,但互斥锁更适用于同时可用的资源是唯一的情况;信号量更适用于同时可用的资源为多个的情况。互斥锁   互斥锁是用一种简单的加锁方法来控制对共享资源的原子操作。这

2016-11-04 21:41:52 475

原创 用多线程实现生产者与消费者的原理

实验目的    通过编写经典的“生产者-消费者”问题的实验,进一步熟悉Linux中的多线程编程,并且掌握用信号量处理线程间的同步和互斥问题。实验内容   “生产者--消费者”问题描述如下:   有一个有限缓冲区(这里用有名管道实现FIFO式缓冲区)和两个线程:生产者和消费者,它们不停地把产品放入缓冲区和从缓冲区拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者

2016-11-03 22:50:19 1859

原创 linux 数据库

数据库1、  Sqlite3_open函数的作用:打开一个数据库函数的原型:int sqlite_open(const char *dbname, sqlite **db)函数的参数:dbname:数据库的名称           db:数据库的句柄返回值:操作成功:SQLITE_OK;头文件:#include  2、  sqlite3_close函数的作用

2016-11-02 21:42:16 305

原创 Linux多线程编程

线程概念    线程是指运行中的程序的调度单位。一个线程指的是进程中一个单一顺序的控制流,也被称为轻量级线程。它是系统独立调度和分配的基本单位。同一进程中的多个线程将共享该系统中的全部系统资源,比如文件描述符和信号处理等。一个进程可以有很多线程,每个线程并行执行不同的任务。线程与进程比较   ①  和进程相比,它是一种非常“节俭”的多任务操作方式。在Linux系统中,启动一

2016-11-01 14:21:36 251

转载 B/S架构与C/S架构的区别

所谓"B/S"是指Browser/Server(浏览器/服务器),即客户端是标准的浏览器(如Internet Explore,Netscape Navigator等),服务器端为标准的WEB服务器协同应用服务器响应浏览器的请求。B/S模式是一种三层结构的系统。第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE

2016-10-31 22:05:06 409

转载 数据库

市面上有哪些数据库?DB2OracleInformixSybaseSQL ServerPostgreSQLmySQLAccessFoxProSQLitesqlite3的特点:1.独立性:sqlite 使用标准C 语言实现,它只需要非常少的系统或外部库的支撑,这使得它非常易于移植进嵌入式设备,

2016-10-30 23:28:05 325

原创 Linux 用pv操作和共享内存实现生产者与消费者机制

2016-10-29 21:38:36 870

原创 Linux 信号

进程通信—信号 产生信号的条件 1、当用户按某些按键时,产生信号 2、硬件异常产生信号:除数为0、无效的存储访问等等。这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效存储区的进程产生一个SIGSEGV信号 3、进程用kill函数将信号发送给另一个进程 4、用户可用kill命令将信号发送给其他进程下面是几种常见的信号: 

2016-10-28 21:57:55 293

原创 Linux 进程通信—消息队列

消息队列就是一个消息的链表。可以把消息看做一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向中按照一定的规则添加新信息,对消息队列有读权限的进程可以从消息队列中读走消息,消息队列是随内核持续的。消息队列就是一个消息的链表。每个消息队列都有一个队列头,用结构struct msg_queue来描述。队列头中包含了该消息队列的大量信息,包括消息队列键值,用户ID,组ID,消

2016-10-27 22:18:43 258

原创 Linux 进程通信—共享内存

共享内存1、  定义:被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立即查看2、  实现共享内存有哪几个步骤?(1)      创建共享、打开共享内存、使用shmget函数(2)      映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数(3)      分

2016-10-26 22:41:32 209

原创 linux 进程通信—管道通信

进程通信1、  pipe函数的作用:创建无名管道函数的原型:int pipe(int fds[2])函数的参数:新建的两个描述符fds数组返回           fds[0],表示管道的读取端           fds[1],表示管道的写入端返回值:成功:0       出错:-1;头文件:#include  2、  mkfifo函数的作用:创建

2016-10-25 22:11:31 292

原创 用管道通信实现守护进程

创建两个进程,一个有名管道。一个进程如果正在运行就往管道里面发送运行信息,守护进程负责读取运行信息,一旦守护进程超过三秒读取不到运行信息,就自动将进程重启守护进程代码:#include #include #include #include #include #include #include #define FIFO "/root/linux/myfifo"m

2016-10-25 22:09:50 370

原创 守护进程

#include #include #include #include #include #include #include #define FIFO "/root/linux/myfifo"main(int argc, char** argv){ char buf[100]; int fd; int nr

2016-10-25 21:47:36 115

原创 51单片机—实时时钟

#include #include "./lcd/lcd.h"#include "./delay/delay.h"unsigned int irtime;bit startflag = 0;unsigned char irdata[33] ;bit irok;unsigned char ircode[4];unsigned char ir_process(){ unsig

2016-10-24 22:18:30 2573

原创 Linux 进程编程

进程编程1、getpid函数的作用:获取进程的识别码、进程号函数的原型:pid_t  getpid(void)返回值:目前进程的进程号头文件:#include  2、fork函数的作用:创建一个进程函数的原型:pid_t  fork(void)函数的返回值:              = 0:表示当前创建的是子进程;>0:表示当前创建的是父进程,返回

2016-10-23 22:08:20 176

原创 Linux 文件编程

两种典型的操作系统:vxworks风河操作系统                    Linux操作系统:源码开源文件操作的概念应用层通过API接口来操作linux操作系统 系统调用函数1、  creat函数的作用:创建一个文件函数的原型:int creat(const char *pathname, mode_t mode)头文件:#include    

2016-10-22 21:11:56 292

原创 51单片机—串口时钟

#include #include "delay.h"#define SEGPORT P0#define uchar unsigned char sbit seg_select = P2^1;sbit bit_select = P2^0;sbit beep = P2^2;uchar segdata[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x

2016-10-21 13:04:34 2945 1

原创 51单片机—LCD显示闹钟时间

#include "./clock.h"sbit RS = P2^4;sbit RW = P2^5;sbit E = P2^6;//ÄÖÖÓʱ¼äunsigned char s = 0;unsigned char m = 0;unsigned char h = 0;unsigned char flag = 1;//void lcd_write(unsigned char

2016-10-20 22:46:54 1763

原创 51单片机—矩阵键盘

#include #include "./delay/delay.h"#define KEYPORT P1#define SEGPORT P0sbit bit_select = P2^0;sbit seg_select = P2^1;unsigned char segdata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f

2016-10-19 22:25:51 718

原创 51单片机—用蜂鸣器播放音乐

#include #include "./delay/delay.h"//sbit key1 = P1^0;sbit beep = P2^7;#define SEGPORT P0#define KEYPORT P1sbit bit_select = P2^0;sbit seg_select = P2^1;unsigned char segdata[16]

2016-10-18 20:58:35 9063 1

空空如也

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

TA关注的人

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