如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Linux应用程序设计Linux文件编程内核空间和用户空间系统调用用户编程接口(API)系统调用-创建系统调用-创建系统调用-创建Linux文件及文件描述符系统调用-打开系统调用-打开系统调用-打开系统调用-打开系统调用-打开系统调用——读系统调用——读系统调用——定位系统调用——定位系统调用-访问判断系统调用-访问判断综合实例库函数库函数——文件创建和打开库函数——文件创建和打开库函数——文件创建和打开库函数——读库函数——写库函数——读字符库函数——读字符库函数——格式化读库函数——格式化写库函数——定位路径获取路径获取目录创建时间类型时间获取时间转化时间保存时间获取时间显示时间显示获取时间延时执行嵌入式Linux设备文件I/O操作实例用户常见的数据通信的基本方式可分为并行通信与串行通信两种。并行通信是指利用多条数据传输线将一个数据的多个bits同时传送。它的特点是传输速度快,适用于短距离通信,应用于要求传输速度较高的场合。串行通信是指利用一条传输线将数据一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。串口是计算机一种常用的接口,常用的串口有RS-232、R-S422、RS-485、TTL接口等,它们的区别主要体现在传输信号的电平上,数据格式都是一致的,即对于软件编程没有区别,普通PC机提供RS-232接口。遵循串口通信标准,该标准规定采用一个DB25的连接器或DB9的连接器(目前的计算机大多采用DB9连接器),其中DB9连接器(公头)。计算机RS-232串口连接器S3C2410X内部具有2个独立的UART控制器,每个控制器都可以工作在Interrupt(中断)模式或者DMA(直接内存访问)模式。同时,每个UART均具有16字节的FIFO(先入先出缓存),支持的最高波特率可达到230.4Kbps。UART的操作主要可分为以下几个部分:数据发送、数据接收、产生中断、产生波特率、Loopback模式、红外模式以及自动流控模式。串口设备设置串口配置函数示例switch(nSpeed){………}/*设置波特率*/if(nStop==1)newtio.c_cflag&=~CSTOPB;//1位停止位elseif(nStop==2)newtio.c_cflag|=CSTOPB;//2位停止位newtio.c_cc[VTIME]=0;//指定读取每个字符的等待时间为0newtio.c_cc[VMIN]=0;//指定最少读取字符数为0tcflush(fd,TCIFLUSH);/*处理未接收字符*/if((tcsetattr(fd,TCSANOW,&newtio))!=0){printk("comseterror");return-1;}printf("setdone!\n");return0;}串口设备的使用打开串口fd=open("/dev/ttyS0",O_RDWR|O_NOCTTY|O_NDELAY);参数:O_NOCTTY标志用于通知Linux系统,这个程序不会成为对应这个端口的控制终端。如果没有指定这个标志,那么任何一个输入(诸如键盘中止信号等)都将会影响用户的进程。O_NDELAY标志通知Linux系统,这个程序不关心DCD信号线所处的状态(端口的另一端是否激活或者停止)。如果用户指定了这个标志,则进程将会一直处在睡眠状态,直到DCD信号线被激活。完整的打开串口的函数示例elseif(comport==3)//串口3{fd=open("/dev/ttyS2",O_RDWR|O_NOCTTY|O_NDELAY);if(fd==-1){printf("Can'tOpenSerialPort");return(-1);}}/*恢复串口为阻塞状态*/if(fcntl(fd,F_SETFL,0)<0)printf("fcntlfailed!\n");elseprintf("fcntl=%d\n",fcntl(fd,F_SETFL,0));/*测试是否为终端设备*/if(isatty(STDIN_FILENO)==0)printf("standardinputisnotaterminaldevice\n");elseprintf("isattysuccess!\n");printf("fd-open=%d\n",fd);returnfd;}读写串口