
嵌入式应用程序设计
文章平均质量分 72
whyzl
南京航空航天大学
展开
-
select
Select函数对数据结构fd_set进行操作,它是由打开的文件描述符构成的集合。有一组定义好的宏可以来控制这些集合#include#includeVoid FD_ZERO(fd_set *fdset);Void FD_CLR(int fd,fd_set *fds原创 2011-08-31 17:48:44 · 483 阅读 · 0 评论 -
进程间通信--信号
/*kill_raise.c*/#include#include#include#include#includeint main(){ pid_t pid; int ret; /*创建一子进程*/ if((pid=fork()) {原创 2011-08-25 09:28:37 · 339 阅读 · 0 评论 -
进程间通信--管道
进程间通讯方式:(1)管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。(2)信号(Signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用原创 2011-08-25 09:25:57 · 313 阅读 · 0 评论 -
进程间通信--共享内存
共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方式,一个进程向共享内存区域写入数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。共享内存实现分两个步骤:创建共享内存,使用shmget函数映射共享内存,使用shmat函数共享内原创 2011-08-25 16:23:28 · 578 阅读 · 0 评论 -
exec函数族
使用exec函数族主要有两种情况· 当进程认为自己不能再为系统和用户做出任何贡献时,就可以调用exec函数族中的任意一个函数让自己重生; · 如果一个进程想执行另一个程序,那么它就可以调用fork()函数新建一个进程,然后调用exec函数族中的任意一个函数,这样看起来原创 2011-08-22 10:30:28 · 421 阅读 · 0 评论 -
多进程一例子
/*multi_proc.c*/#include#include#include#include#includeint main(){ pid_t child1,child2,child; /*创建两个子进程*/ child1=fork()原创 2011-08-23 09:41:55 · 489 阅读 · 0 评论 -
waitpid
/*waitpid.c*/#include#include#include#include#includeint main(){ pid_t pc,pr; pc=fork(); if(pc { printf("error fork原创 2011-08-22 11:18:33 · 359 阅读 · 0 评论 -
copy
/***函数基本功能是从一个文件中读取最后10KB数据并复制到另一个文件中*/#include#include#include#include#include#include#define BUFFER_SIZE 1024 /*每次读写缓冲原创 2011-08-11 17:41:22 · 952 阅读 · 0 评论 -
进程基本概念
一、 进程的定义程序的一次执行过程,同时也是资源分配的最小单元,它与程序有着本质的区别,程序是静态的,它是一些保存在磁盘上的指令有序集,没有任何的执行概念,而进程是动态的概念,它是程序执行的过程,包括了动态创建,调度和消亡的整个过程,对系统而言,当用户执行一个程序的时原创 2011-08-21 15:21:23 · 463 阅读 · 0 评论 -
嵌入式linux串口通信自发自收测试程序
/*串口自收自发程序主函数*/#include"uart_api.h"int main(){ int fd; char buff[BUFFER_SIZE]; char buff2[]="Hello NUAA2440!\n"; int nread,nwr原创 2011-08-15 20:46:27 · 5492 阅读 · 1 评论 -
嵌入式linux串口编程(二)
/*com_writer.c*/#include "uart_api.h"int main(void){ int fd; char buff[BUFFER_SIZE]; if((fd=open_port(HOST_COM_PORT)) { per原创 2011-08-14 18:26:43 · 2572 阅读 · 0 评论 -
嵌入式linux串口设置(一)
在linux中,所有的设备文件一般都位于“/dev”下,串口1和串口2对应的设备名依次为“/dev/ttyS0”, “/dev/ttyS1”,而且USB转串口的设备名通常为“/dev/ttyUSB0”,在linux下对设备的操作方法与对文件的操作方法一样。串口开发步骤:串原创 2011-08-13 10:55:09 · 2730 阅读 · 0 评论 -
记录锁
/*write_lock.c*//***首先给flock结构体的对应位赋值,两次调用fcntl()函数,分别用于判断是否可以上锁,和给相关文件上锁。*//*lock_set.c*/#include#include#include#include原创 2011-08-11 22:01:28 · 324 阅读 · 0 评论 -
IO多路复用
Select函数使我们可以执行I/O多路转接,传向select的参数告诉内核:1、我们所关心的描述法2、对于每个描述符我们关心的状态3、愿意等待的时间4、已准备好的描述符的数量5、对于读写或异常三个状态中的哪一个已准备好函数原型:Int select(原创 2011-08-12 17:33:22 · 496 阅读 · 0 评论 -
多客户网络程序
/*multisevertcp.c*/#include#include#include#include#include#include#include#include#include#define portnumber 3333int原创 2011-08-31 20:52:25 · 403 阅读 · 0 评论