摘要: 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 阅读(13544) 评论(0) 推荐(2) 编辑
摘要: 管道是单向的字节流,它将某个进程的标准输出连接到另一个进程的标准输入。管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。管道和有名管道的读写规则是在程序中应用它们的关键。管道相关的概念在linux中管道是通过指向同一个临时的VFS inode的两个file数据结构来实现的,此VFSinode指向内存中的同一个物理页面。这就隐藏了读写管道和读写普通文件的差别。管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间... 阅读全文
posted @ 2013-12-02 09:09 haotianling 阅读(684) 评论(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 阅读(5351) 评论(1) 推荐(1) 编辑
摘要: 1 FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。2CPLD更适合触发器有限而乘积丰富的结构,更适合完成复杂的组合逻辑;FPGA更适合于触发器丰富的结构,适合完成时序逻辑。3cpld连续式布线结构决定了他的时序均匀的可预测的,而fpga的分段式布线结构决定了其延时的不可预测性。cpld比fpga速度快。4在编程上fpga比cpld具有更大的灵活性。cpld通过修改具有固定内部电路的逻辑功能来编程,fpga主要通过改变内部连线的布线来编程;fpga可在逻辑门下编程,而cpld实在逻辑块编程。5在编程方式上,cpld主要是基于eepROM或flash存储器编程,编程次数可达一... 阅读全文
posted @ 2013-12-02 09:09 haotianling 阅读(717) 评论(0) 推荐(0) 编辑
摘要: idata是51系列单片机能识别的存储器类型之一,固定指前面0x00-0xff的256个字节的片内RAM,其中前128字节和data的128字节完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:movx ACC,@Rx。 data:直接寻址的片内RAM区低128B(00H~7FH) bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问 idata:单片机间接访问的片内RAM区,允许访问全部片内RAM pdata:Ri间接访问的片外RAM的低256B(00H~FFH) xdata:用DPTR间接访问的片外RAM,允许访... 阅读全文
posted @ 2013-12-02 09:09 haotianling 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 原文地址: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 阅读(859) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(467) 评论(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 阅读(217) 评论(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 阅读(149) 评论(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 阅读(112) 评论(0) 推荐(0) 编辑