嵌入式微处理器结构与应用:S3C2410硬件设计.ppt

嵌入式微处理器结构与应用:S3C2410硬件设计.ppt

  1. 1、本文档共130页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式微处理器结构与应用:S3C2410硬件设计.ppt

知识拓展——LPC2124的GPIO见作业三本节提要132546基于ARM的硬件系统体系结构存储器接口设计UART接口I/O接口设计GPIO接口其它接口技术S3C2410的UARTS3C2410A的UART(UniversalAsynchronousReceiverandTransmitter)提供了三个独立的异步串行I/O口,每一个都可以工作在中断模式或DMA模式,即UART可以产生中断或DMA请求以在CPU和UART之前传送数据,使用系统时钟,UART最高可以支持230.4Kbps的位传输率。如果采用外部带时钟的UART,则UART可以实现更度速度的传输;每个UART包括2个16Byte的接收/发送FIFO。UART控制框图异步串行通讯简介在一条传输线上完成单向传输。将传输数据的字符一位接一位的传送。接收方对于同一条线上的一连串连续数字信号,首先将其分割成位,再按位组成字符。每个字符需要确定起始位和结束位,字符与字符间还可能有长度不定的空闲时间,因此传输效率较低。字符串行输出格式发送前:线路处于空闲状态,连续发送“1”开始发送:首先,发送一位起始位“0”然后,发送连续的二进制位,数据位可以为5、6、7、8随后,紧跟一位奇偶校验位(可选择奇/偶/无校验)最后,发送停止位“1”,可以有1位、1.5位或2位停止位UART的操作串口初始化发送数据接收数据与UART有关的寄存器UART行控制寄存器ULCONnUART控制寄存器UCONnUART状态寄存器发送寄存器UTXH和接收寄存器URXH波特率分频寄存器UBRDIV还有其它控制及状态寄存器,见数据手册行控制寄存器ULCONnUART控制寄存器UCONnUART控制寄存器UCONnUART控制寄存器UCONnUART状态寄存器发送寄存器UTXH接收寄存器URXH波特率分频寄存器UBRDIV波特率的产生波特率由一个专用的UART波特率分频寄存器(UBRDIVn)控制,计算公式如下:UBRDIVn=(int)(PCLK/(bpsx16))-1 或者 UBRDIVn=(int)(UEXTCLK/(bpsx16))-1 UBRDIVn的值必须在1到(216-1)之间。例如:在系统时钟为40MHz,当波特率为115200时,UBRDIVn=(int)(115200x16))-1=(int)(21.7)–1=21-1=20开发板UART0电路如何编程实现UART通信?PC端的UART通信控制软件——超级终端与UART0相关的GPIO编程实现STEP1——初始化把使用到的引脚GPH2、GPH3定义为TXD0、RXD0GPHCON|=0xa0GPHUP|=0x0c(上拉)ULCON0设为0x03含义:8个数据位,1个停止位,无校验,正常操作模式UCON0设为0x05除了位[3:0],其他位都使用默认值。位[3:0]=0b0101表示:发送、接收都使用中断或查询方式STEP1——初始化UFCON0设为0x00每个UART内部都有一个16字节的发送FIFO和接收FIFO,这里不使用FIFO,设为默认值0UMCON0设为0x00不使用流控,设为默认值0UBRDIV0设为12PCLK=12MHz,设置波特率为57600,由公式可以计算得UBRDIV0=12UBRDIVn=(int)(PCLK/(bpsx16))–1STEP1——初始化代码voidinit_uart(){//初始化UART GPHCON|=0xa0;//GPH2,GPH3usedasTXD0,RXD0 GPHUP=0x0c;//GPH2,GPH3内部上拉 ULCON0=0x03;//8N1(8个数据位,无校验位,1个停止位) UCON0=0x05;//查询方式 UFCON0=0x00;//不使用FIFO UMCON0=0x00;//不使用流控 UBRDIV0=12;//波特率为57600}STEP2——发送数据UTRSTAT0位[2]:无数据发送时,自动设为1。当我们要使用串口发送数据时,先读此位以判断是否有数据正在占用发送口。UTRSTAT0位[1]:发送FI

文档评论(0)

胖鸥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档