- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 第一章—无线传感网的技术概述
1. 无线传感网定义:WSN(wireless sensor networks)是无线传感器网络是由大量的具有感知能力的传感器节点,通过自组织方式构成的无线网络。综合了传感器技术、嵌入式计算技术、现代网络、无线通信技术和分布式信息处理技术。是由一组无线传感器节点以Ad hoc(自组织)方式组成的无线网络,其中包括普通节点和汇聚节点,目的是协作地感知、收集、处理传感网所覆盖的地
2016-11-29 23:56:39 9660
原创 第三章—Cortex-A8处理器编程(上)
第3章 Cortex-A8处理器编程一.ARM编程简介在嵌入式系统开发中,目前使用的主要编程语言是C和汇编。很多地方,例如开机时硬件系统的初始化,包括CPU状态的设定、中断的使能、主频的设定、以及RAM的控制参数及初始化等都使用汇编语言。汇编语言是和CPU的指令集紧密相连的,作为涉及底层的嵌入式系统开发,汇编语言编程不可或缺的重要方法。二.Cortex-A8处理器模式和状态1.处理
2016-11-28 23:01:18 2517 1
原创 第二章_ARM Cortex-A8体系结构
第2章 ARM Cortex-A8体系结构1. ARM微处理器采用RISC架构的ARM微处理器一般具有如下特点:1) 体积小、低功耗、低成本、高性能;2) 支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3) 大量使用寄存器,指令执行速度更快;4) 大多数数据操作都在寄存器中完成;5)
2016-11-27 22:42:07 1659
原创 第一章-嵌入式系统概述
第一章 嵌入式系统概述1. 嵌入式系统的定义嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应于对系统功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。这个定义主要包含两个信息,一是嵌入式系统是专用计算机系统,因此必须要有处理器,具备计算机系统的基本特征。二是嵌入式系统的功能是有严格要求并按照指定的应用而设计的。2.
2016-11-26 23:03:17 1343
转载 Matlab中读取txt文件的几种方法
一、纯数据文件(没有字母和中文,纯数字)对于这种txt文档,从matalb中读取就简单多了例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045
2016-11-25 22:01:24 88853 1
原创 matlab文件操作
1、 Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。 2、 fid=fopen(文件名,打开方式) 3、 fid 为文件句柄,其它函数可以用它对该文件进行操作。如果句柄值大于 0,则表示文件打开成功;若打开失败,fid 的返回值为 -1。 fid=fopen('output.txt','wt+'); fprintf(fid
2016-11-24 23:08:08 3726
原创 TCP的多个客户端连接服务器
通过父子进程实现TCP的多个客户端连接服务器tcp_sever_fork.c#include #include #include #include #include #include #include #define PORT 3333int main(){ int sockfd; int sock_fd; struct sockaddr_in
2016-11-23 21:59:52 3398
原创 UDP服务器客户端相互通信
UDP服务器、客户端之间的相互通信之前的版本只能实现UDP服务器之间单发单收,此版本能实现UDP服务器和客户端之间的相互通信。见下面的程序:udp_server.c#include #include #include #include #include #include #include #define PORT 3333int main(){ int
2016-11-22 22:34:58 3598 1
原创 TCP服务器、客户端之间的相互通信
TCP服务器、客户端之间的相互通信之前的版本只能实现TCP服务器之间单发单收,此版本能实现TCP服务器和客户端之间的相互通信。见下面的程序:tcp_server.c#include #include #include #include #include #include #include #define PORT 3333int main(){ int
2016-11-21 20:28:46 2413
原创 UDP编程模型
UDP编程模型基于UDP服务器1) 创建一个socket,用函数socket()2) 绑定IP地址、端口等信息到socket上,用函数bind()3) 循环接收数据,用函数recvfrom()4) 关闭网络连接基于UDP客户端1) 创建一个socket,用函数socket()2)
2016-11-20 20:18:28 481
原创 TCP编程模型
TCP编程模型基于TCP服务器1) 创建一个socket,用函数socket()2) 绑定IP地址、端口等信息到socket上,用函数bind()3) 设置允许的最大连接数,用函数listen()4) 接收客户端上来的连接,用函数accept()5) 收发数据,用函数send()和recv(),或者read()和wr
2016-11-19 22:30:14 590
原创 网络编程常见函数
进行Socket编程的常用函数有:Socket : 创建一个socketBind: 用于绑定IP地址和端口号到socketConnect: 该函数用于绑定之后的client端与服务器建立连接listen:设置能处理的最大连接要求,Listen()并未开始接收连线,只设置socket为listen模式accept:用来接受socket连接send:发送数据recv:接收
2016-11-18 21:10:42 515
原创 网络编程简介
网络编程简介一.socket1. 概念Linux中的网络编程通过Socket(套接字)接口实现,Socket是一种文件描述符2. 套接字socket有三种类型:(1) 流式套接字(SOCK_STREAM)流式的套接字可以提供可靠的、面向连接的通讯流。它使用了TCP协议。TCP保证了数据传输的正确性和顺序性(2) 数据报套接字(SO
2016-11-17 20:38:44 391
原创 wireshark抓包工具的使用
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用 WinPCAP作为接口,直接与网卡进行数据报文交换。Wireshark环境搭建1)Windows环境 下载一个安装包,默认配置,一路 next即可完成安装。安装包下载请点此处。2)ubuntu环境
2016-11-16 22:26:57 790
原创 TCP的三次握手协议与TCP/UDP结构
熟悉TCP的三次握手协议三次握手TCP是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后进行数据通信,最后拆除连接三个过程。TCP在建立连接时又分三步走:第一步(A->B):主机A向主机B发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;第二步(B->A):主机B在收到客户端的S
2016-11-15 23:17:08 616
原创 OSI和TCP/IP协议模型简介
一.OSI协议模型OSI协议参考模型,它是基于国际标准化组织(ISO)的建议发展起来的,它分为7个层次:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。这个7层的协议模型虽然规定得非常细致和完善,但在实际中却得不到广泛的应用,其重要的原因之一就在于它过于复杂。但它仍是此后很多协议模型的基础。与此相区别的TCP/IP协议模型将OSI的7层协议模型简化为4层,从而更
2016-11-14 19:47:32 592
原创 数据操纵语言
数据操纵语言头文件:#include 编译时:gcc sqlite.c –lsqlite31. sqlite3_open函数原型:intsqlite3_open(const char* fileName, sqlite3** ppDB);函数功能:打开一个数据库;若该数据库文件不存在,则自动创建。打开或者创建数据库的命令会被缓存,直到这个数据库真正被调用的时候才会被执
2016-11-13 21:52:23 867
原创 SQL语句
一.SQL语法1. SQL功能数据定义(DDL):用户定义、删除和修改数据模式数据查询(DQL):用于查询数据数据操纵(DML):用于增、删、改数据数据控制(DCL):用于控制数据访问权限2. 语法SQL的语法很像自然语言。每个语句都是一个祈使句,以动词开头,表示所要做的动作。3. 命令SQL由命令组成,每个命令以分号(;)
2016-11-12 23:04:21 510
原创 关系数据库理论
关系数据库理论1. 关系术语和定义 关系(Relation):一个关系就是一张二维表,每一个关系有一个关系名,可以存储为一个文件。其定义可以描述为的子集叫做域 , ,…, 上的关系,表示为 ,R表示关系的名称,n表示关系的目或度(Degree)。 元组:表中的行称为元组,一行就是一个元组,对应存储文件中的一个记录。 属性:关系中的一列称为一个属性。一个属性必须
2016-11-11 21:40:49 664 2
原创 数据库简介
1. 什么是数据库?数据库(DataBase,简记为DB)就是一个有结构的、集成的、可共享的统一管理的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库技术主要研究如何存储、使用和管理数据;(1) 所谓有结构的,指的是数据是按一定的模型组织起来的。(2) 所谓集成的,是指数据库中集中存放着企业各种各样的数据。(3) 所谓共享,指
2016-11-10 20:14:17 410
原创 线程的同步、互斥机制
整理线程同步的API函数及其作用线程同步的方式和机制临界区、互斥量、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程
2016-11-09 21:53:52 836
原创 信号量实现线程之间的PV操作
1.信号量实现线程之间的PV操作,实现线程同步和互斥的数据模型?(1).sem_init函数函数作用:初始化信号量函数原型:int sem_init(sem_t *sem,int pshared, unsigned int value)参数:sem:信号量指针 Pshared:决定信号量能否在几个进程间共享,一般取0 Value:信号量的初始值(2)
2016-11-08 00:07:07 927
原创 linux多线程-互斥锁
互斥锁,是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。实现机制:(函数说明)需要的头文件:pthread.h1) 初始化互斥锁函数的原型:int pthread_mutex_init(pthread_mutex_t*mp, const pthread_mutexattr_t *mattr)函数的参数:mutex:互斥锁 matt
2016-11-07 23:56:20 401
原创 多线程概述
多线程实现一.线程和进程之间的关系,与进程相比线程有哪些优点?1.线程和进程的关系线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源。进程——资源分配的最小单位,线程——程序执行的最小单位"
2016-11-06 22:00:58 341
原创 linux进程通信——消息队列(相互通信)
上一节讲述消息队列单发单收的情况,那么消息队列能否实现相互通信呢?请看下面例题:msg11.c#include #include #include #include #include #include #include #include #define MAX_TEXT 512struct my_msg_st{ long int my_msg_type;
2016-11-05 20:54:56 505
原创 linux进程通信-消息队列
消息队列管道则只能传送无格式的字节流,这无疑会给应用程序开发带来不便。消息队列(也叫做报文队列)则克服了这些缺点。1. 消息队列的理论消息队列就是一个消息的链表.可以把消息看作一个记录,具有特定的格式.进程可以向中按照一定的规则添加新消息;另一些进程则可以从消息队列中读走消息。创建打开消息队列msgget()读数据从队列msgrcv()写数据到队列msgsnd()控制
2016-11-04 19:46:08 304
原创 linux进程通信-信号量
信号灯1. 信号量(1)概念信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源.进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。(2)分类二值信号灯:信号灯的值只能取0或1,类似于互斥锁。 但两者有不同:信号灯强调共享资源,只要共享资源可用,其他进程同样可以修改信号灯的值;互斥锁更强调进程,占用资源的
2016-11-03 20:17:44 526
原创 linux进程通信-共享内存
共享内存 1. 共享内存的实现原理创建共享内存、打开共享内存映射共享内存分享共享内存控制共享内存(1)shmget函数的作用:在内核中创建共享内存函数的原型:int shmget(key_tkey,int size,int shmflag);函数的参数:key:键值;size:创建的内存大小;shmflag:标志(同open函数的权限位)返回值:成
2016-11-02 23:18:10 332
原创 linux进程通信-信号
1.信号的分类,常用的几种信号来源?信号的分类: 可靠性方面:可靠信号和不可靠信号 与时间上的关系:实时信号与非实时信号常见的信号:§ SIGHUP: 从终端上发出的结束信号§ SIGINT: 来自键盘的中断信号(Ctrl-C)§ SIGKILL:该信号结束接收信号的进程,杀死进程§ SIGTERM:kill 命令发出的信号§ SIGCHLD:子进程停止或结
2016-11-01 22:57:20 352
C++实现一致性hash算法
2019-01-03
软考软件设计师复习资料
2017-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人