实验三uClinux下串口设备的使用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 uClinux下串口设备的使用 实验目的 学习在uClinux系统中使用串口设备,通过读写该设备对应的设备文件与其他设备通信;同时了解uClinux系统中设备文件与设备驱动程序的关系,以及系统读写调用与驱动程序读写函数的关系。 实验内容 S3C44B0提供2个UART守法器,对它们可以操作在中断方式或DMA方式。它们内置波特率发生器,波特率发生器的时钟源为S3C44B0的系统使用,所以最高速率可达115.2K bps。二个串口有单独的波特率发生器,接收,发送和控制单元,支持红外方式的传送和接收。同时,在S3C44B0串口的接收器和发送器中都有16字节的FIFO,FIFO可以有效的降低接收器和发送器对CPU的中断频率,提高发送和接收的效率。 S3C44B0的串口包含了nRTS,nCTS调制线,因此可以实现与DCE设备的连接,如modem等。EV44B0-II的串口使用的是九针连接器,从S3C44B0输出或输入到S3C44B0信号线的电平为TTL电平,所以在连接器和S3C44B0之间需要RS232-C电平转换电路,该电缆将TTL电平转换到标准的RS232-C电平, EV44B0-II中使用的是MAX3232。 232电平 TTL电平 连接器 S3C44B0 MAX3232 S3C44B0串口电路示意图 EV44B0以PORT E的bit1~2为TXD0,RXDO,PORT C的bit12,13为TXD1,RXD1,PORT C的bit10,11,14,15为nRTS1,nCTS1,nRTS0,nCTS0。 其9PIN的接线如下: Figure 1. UART Interface Circuit with S3C44B0X 串口设备的可配置参数包括波特率,起始位数量,数据位数量,停止位数量和流量控制协议。一般来讲,起始位为1bit,数据位为8bit,停止位为0bit,流量控制协议为“无流量控制”,波特率为115200bit/s。 在uClinux系统下,每一个串口设备在 /dev目录下都有一个设备文件与其对应。其中/dev/ttyS0对应的是系统的串口0,/dev/ttyS1对应的是系统的串口1。在linux操作系统中,设备驱动是以主设备号为主,每个设备都有唯一的主设备号和从设备号。在linux内核中使用块设备表和字符设备表,根据设备的类型和主设备号便可以在设备表中找到向应的驱动程序,而从设备号则一般只用作同类设备中具体设备项的编号。作为字符型设备,串口设备的设备主标识为4,次设备号从64开始,并随着串口号的增加而增加,如/dev/ttyS10对应的次设备号为74;可以通过 ls –al 命令列出/dev 目录下所有设备文件的设备类型,主设备号和次设备号,来验证该规律。 在串口设备初始化函数中,设备驱动程序使用设备类型和主设备号将该驱动程序的操作接口注册到内核的设备表中,该接口表连接了内核和设备驱动程序。该接口包含设备打开,设备释放,设备读和设备写等。 设备文件是用来表示linux所支持的大多数设备的,每个设备文件除了设备名,还有3个属性:设备类型、主设备号、从设备号。设备文件在linux下可以通过mknod系统调用来创建;在Hitool 环境下,可以通过修改 /vendor/micetek/EV44B0II/makefile来增加新的设备文件,在编译时会在/romfs/dev下生成对应的设备文件,然后通过genromfs实用工具生成romfs.img,这个文件会被打包到linux.elf中,作为uClinux的根文件系统;这样,在uClinux中可以看到新建的设备文件。 当应用程序打开或读取设备文件时,对应的系统调用将访问该设备文件在VFS文件系统中的inode数据结构,然后找到该设备文件对应的操作接口,这时所使用的操作接口一般是同一类型设备的统一操作接口,接着通过主设备号将找到设备的实际操作接口,最后操作将在该设备的驱动程序中执行。 本实验将打开/dev/ttyS1设备文件,通过读写该设备标识符来发送数据到连接器上;在PC机上运行PC串口2的超级终端程序,接收EV44B0-II发送来的数据并显示。EV44B0的串口0和PC机的串口1作为uClinux系统的终端使用。 三、实验设备及工具(包括软件调试工具) 硬件:EV44b0 ARM评估板、PC机。 软件:PC机操作系统win2K、Hitools for uClinux集成开发环境、uClinux软件包(EV44b0评估板)。 四、程序说明 本程序功能:打开串口1的设备文件,获得文件描述符,然后将参数中包含的字符串在串口1中输出。 实验程序流程图 附源码: /***************************************

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档