网站大量收购闲置独家精品文档,联系QQ:2885784924

第7篇 Linux应用程序设计.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串口操作完整示例 完整的串口操作包括串口打开、串口参数设置、串口读写等,具体程序示例参见如下程序清单: 【清单8.5】 【清单8.6】 【清单8.7】 库函数——读字符 库函数——读字符 库函数——格式化读 库函数——格式化写 库函数——定位 路径获取 路径获取 目录创建 时间类型 时间获取 时间转化 时间保存 时间获取 时间显示 时间显示 获取时间 延时执行 嵌入式Linux设备文件I/O操作实例 文件的I/O操作通常包括打开文件、关闭文件、读写文件、定位文件、給文件上锁等。具体的操作函数包括open()、close()、read()、write()、lseek()、fcntl()等; 对字符设备文件的使用通常采用I/O操作方式; 串口为一典型的字符设备。 用户常见的数据通信的基本方式可分为并行通信与串行通信两种。 并行通信是指利用多条数据传输线将一个数据的多个bits同时传送。它的特点是传输速度快,适用于短距离通信,应用于要求传输速度较高的场合。 串行通信是指利用一条传输线将数据一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 串口设备概述 串口是计算机一种常用的接口,常用的串口有RS-232、R-S422、RS-485、TTL接口等,它们的区别主要体现在传输信号的电平上,数据格式都是一致的,即对于软件编程没有区别,普通PC机提供RS-232接口。遵循串口通信标准,该标准规定采用一个DB25的连接器或DB9的连接器(目前的计算机大多采用DB9连接器),其中DB9连接器(公头) 。 计算机RS-232串口连接器 1:DCD(载波检测)。用于通知计算机其处于在线状态。 2:RXD(接收数据)。此引脚用于接收外部设备送来的数据; 3:TXD(发送数据)。此引脚将计算机的数据发送给外部设备; 4:DTR。数据终端就绪; 5:GND。逻辑地。 6:DSR。数据准备就绪; 7:RTS。请求发送; 8:CTS。清除发送; 9:RI。通知计算机有呼叫进来。 S3C2410X 内部具有2个独立的UART控制器,每个控制器都可以工作在Interrupt(中断)模式或者DMA(直接内存访问)模式。同时,每个UART均具有16字节的FIFO(先入先出缓存),支持的最高波特率可达到230.4Kbps。 UART的操作主要可分为以下几个部分:数据发送、数据接收、产生中断、产生波特率、Loopback模式、红外模式以及自动流控模式。 串口设备设置 设置串口中最基本的包括波特率设置,校验位和停止位设置。串口的设置主要是设置struct termios结构体的各成员值 。 #includetermios.h struct termio { unsigned short c_iflag; /* 输入模式标志 */ unsigned short c_oflag; /* 输出模式标志 */ unsigned short c_cflag; /* 控制模式标志*/ unsigned short c_lflag; /*本地模式标志 */ unsigned char c_line; /* line discipline */ unsigned char c_cc[NCC];/* control characters */ }; 串口配置函数示例 int set_opt(int fd,int nSpeed, int nBits, char nEvent, int nStop) { struct termio newtio,oldtio; if ( tcgetattr( fd,oldtio) != 0) { printk(SetupSerial 1); return -1; } bzero( newtio, sizeof( newtio ) ); newtio.c_cflag |= CLOCAL | CREAD; //串口连接,且串口接收使能。 newtio.c_cflag = ~CSIZE; //数据位的位掩码设置 switch( nBits ) {……….} //设置数据宽度 switch( nEvent ) { ………//设置

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档