嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978 7 302 25605 2 第六章 S3C2410的串口UART及编程.pptVIP

嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978 7 302 25605 2 第六章 S3C2410的串口UART及编程.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 S3C2410的串口UART及编程 主要内容: 6.1 S3C2410的串口UART概述 6.2 UART的控制寄存器 6.3 UART通信程序例子 6.1 S3C2410的串口UART概述 6.1.1 S3C2410串行通信(UART)单元 S3C2410 UART单元提供3个独立的异步串行通信接口,皆可工作于中断和DMA模 式。使用系统时钟最高波特率达230. 4 kb/s,如果使用外部设备提供的时钟,可以达到更高的速率。每一个UART单元包含一个16字节的FIFO发送缓冲器和一个16字节的FIFO接收缓冲器,用于数据的接收和发送。 S3C 2410X UART支持可编程波特率、红外发送/接收( 只UART2 )、1个或2个停止位、5位/6位/7位/8位数据宽度和奇偶校验。 6.1.2 波特率的产生 波特率由一个专用的UART波特率分频寄存器(UBRDIVn)(n=0~2)控制,计算公式如下 UBRDIVn=(int)[ULK/(波特率× 16)]-1 或者 UBRDIVn=(int) [PLK/(波特率× 16)]-1 6.1.3 UART通信操作 下面简略介绍UART操作,关于数据发送、数据接收、中断产生、波特率产生、查询检测模式、红外模式和自动流控制的详细介绍,请参照相关教材和数据手册。 发送数据帧是可编程的。一个数据帧包含1个起始位、5~8个数据位、1个可选的奇偶校验位和1~2位停止位,停止位位数通过行控制寄存器ULCONn配置。 6.2 UART的控制寄存器 6.2.1 UART线路控制寄存器ULCONn 该寄存器的位6决定是否使用红外模式,位5、位4和位3决定校验方式,位2决定停止位长度,位1和位0决定每帧的数据位数。具体如表6-1所示: 6.2.2 UART控制寄存器UCONn 该寄存器决定UART的各种模式,见表6-2所示: 6.2.3 UART FIFO控制寄存器UFCONn S3C2410 UART每通道有16个字节的先入先出(FIFO)接收缓冲器和16个字节的先入先出(FIFO)发送缓冲器,如果在程序中使用它们,必须要对UART FIFO控制寄存器UFCONn进行定义,UFCONn的配置如表6-3所示: 6.2.4 UART 调制解调器控制寄存器UMCONn(n=0或1) 6.2.5发送寄存器UTXH和接收寄存器URXH 这两个寄存器存放发送和接收的数据,当然只有1字节(8位数据)。需要注意的是,在发生溢出错误时,接收的数据必须被读出来,否则会引发下次溢出错误。 6.2.6 UART TX/RX 状态寄存器UTRSTAT UART TX/RX状态寄存器UTRSTAT配置见表6-5: 6.3 UART通信程序例子 UART通信电平可有三种形式,TTL电平,RS232或RS485。嵌入式控制系统大多具有小、巧、轻、灵、薄的特点,许多传感器和S3C2410一体或距离很近,没有干扰,例如多参数监护仪等医疗设备,为简化电路,可采用TTL电平直接与S3C2410相连。 如果通信距离在几十米左右并是点对点通信可采用RS232接口,否则只能采用RS485通信。在工程上UART通信大多采用三线制(发送连对方接收、接收连对方发送,双方共地)。本节在介绍RS232接口电路的同时给出了一个UART通信程序实例。 6.3.1 RS232接口电路 本实验平台的电路中,UART0与S3C2410连接电路如图6-1所示,UART0只采用两根接线RXD0和TXD0 (RS232只能实现点对点通信,且两点要共地),因此只能进行简单的数据传输及接收。UART0采用美信332电平转换器(MAX332)做电平转换 6.3.2 UART实验程序 //-------------------------------------------------------------------------------------------------------------- // 头文件uart0.h //------------------------------------------------------------------------------------------------------------- #define TX_INTTYPE 1 //1:发送中断电平触发标志 #define RX_INTTYPE 1 //1:接收中断电平触发标志 extern void Uart_Port_Set(void); //保存本程序使用的端口原状态 extern void Uart_Port_Return(void); //恢复本程

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档