摘要:
原文地址:C51串口的SCON寄存器及工作方式作者:batistar一,串行口控制寄存器SCON它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位,其定义如下:SM0、SM1工作方式功能描述波特率0 0方式08位移位寄存器Fosc/120 1方式110位UART可变1 0方式211位UARTFosc/64或fosc/321 1方式311位UART可变其中fosc为晶振频率SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当(S... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(989)
评论(0)
推荐(0)
摘要:
stdout,stdin,stderr的中文名字分别是标准输出,标准输入和标准错误。在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个。那么什么是数据流呢(stream)?我们知道,一个程序要运行,需要有输入、输出,如果出错,还要能表现出自身的错误。这是就要从某个地方读入数据、将数据输出到某个地方,这就够成了数据流。因此,一个进程初期所拥有的这么三个数据流,就分别是标准输出、标准输入和标准错误,分别用stdout,stdin,stderr来表示。对于这三个数据流来说,默认是表现在用户终端上的,比如我们在c中使用fprintf:fpri... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(556)
评论(0)
推荐(0)
摘要:
命名管道(FIFO)基本概念命名管道和一般的管道基本相同,但也有一些显著的不同:命名管道是在文件系统中作为一个特殊的设备文件而存在的。不同祖先的进程之间可以通过管道共享数据。当共享管道的进程执行完所有的I/O操作以后,命名管道将继续保存在文件系统中以便以后使用。管道只能由相关进程使用,它们共同的祖先进程创建了管道。但是,通过FIFO,不相关的进程也能交换数据。命名管道创建和操作::#include#includeint mkfifo(const char *pathname,mode_t mode);返回:若成功则为0,若出错则为-1一旦已经用mkfifo创建了一个FIFO,就可用ope... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(268)
评论(0)
推荐(0)
摘要:
open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值参考格式 if(fd=open("/dev/ttys0",O_RDWR | O_NOCTTY |O_NDELAY))<0 {printf("cannot open"};int open(const char *pathname, int oflag, …/*,mode_t mode * / ) ;打开的操作类型有如下几种 1) O_RDONLY只读打开 2) O_WRONLY只写打开 3) O_RDWR读、写打开 4) O_APPEND每 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(13586)
评论(0)
推荐(2)
摘要:
管道是单向的字节流,它将某个进程的标准输出连接到另一个进程的标准输入。管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。管道和有名管道的读写规则是在程序中应用它们的关键。管道相关的概念在linux中管道是通过指向同一个临时的VFS inode的两个file数据结构来实现的,此VFSinode指向内存中的同一个物理页面。这就隐藏了读写管道和读写普通文件的差别。管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(699)
评论(0)
推荐(0)
摘要:
linux中memset的正确用法【起因】希望对各种类型的数组进行初始化,避免野值【函数头文件】提示:在linux中可以在terminal中输入 "man memset"进行查询 #include void*memset(void *s, int c, size_t n);【使用说明】Thememset() functionfills thefirst nbytesof thememory area pointed to by s with theconstantbytec. 【错误用法】 int array[10]; memset(array,1,10);//或者mems 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(5404)
评论(1)
推荐(1)
摘要:
read函数从打开的设备或文件中读取数据。#includeunistd.h>ssize_t read(intfd,void*buf,size_tcount);描述:参数count是请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移。(注意:这个读写位置和使用C标准I/O库时的读写位置有可能不同,这个读写位置是记在内核中的,而使用C标准I/O库时的读写位置是用户空间I/O缓冲区中的位置。)返回值:若成功返回读到的字节数;若已到达文件结尾返回0;若出错返回-1;注:有多种情况会出现实际读到的字节数少于要求读的字节数(count)。●读普通文件时,在读到要求的字节 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(485)
评论(0)
推荐(0)
摘要:
Samba是Ubuntu和Windows进行网络共享的工具,比如分享打印机,互相之间传输资料文件。安装sambasudo apt-get install samba查看samba是否安装成功sudo dpkg -l samba*Desired=Unknown/Install/Remove/Purge/Hold|Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)||/Name... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(245)
评论(0)
推荐(0)
摘要:
原文地址:【转】教你如何实现linux和Windows之间的文件共享,samba的安装与配置作者:铅笔小蜡本人在虚拟机下装fedora13,已经实现。1. 首先检查os是否安装好了samba。[root@localhost /]# rpm -qa | grep smb如果出现下面三行内容,则表示已经安装好了Samba:libsmbios-libs-0.13.10-1.fc8libsmbios-bin-0.13.10-1.fc8pam_smb-1.1.7-7.2.2如果没显示,可以进行安装,方法如下:#yum install samba*即可安装完毕!2. 进入samba目录[root@l... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(154)
评论(0)
推荐(0)
摘要:
Abstract 在嵌入式开发中有宿主机和目标机之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。 TFTP服务器作为工作于宿主机的软件,主要提供对目标机的主要映像文件的下载工作。Solution一.TFTP服务器的安装 利用以下命令就可以看到TFTP服务器已启动,则不用安装[root@localhost Server]# netstat -a |grep tftpudp00*:tftp*:* 若没有安装,在Redhat Enterprise Linux5的安装光盘中有RPM安装包,挂在光盘后进入到文件夹,找到相应的安装包。[root@loca... 阅读全文
posted @ 2013-12-02 09:09
haotianling
阅读(117)
评论(0)
推荐(0)