首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

电脑冲冲冲——修炼ARM11:UART

2013-02-03 
计算机冲冲冲——修炼ARM11:UART串口又叫UART,通过异步实现(没有时钟,有时钟就是同步)串口一般为调试位串口

计算机冲冲冲——修炼ARM11:UART
  串口又叫UART,通过异步实现(没有时钟,有时钟就是同步)
  串口一般为调试位
  串口的其中3条线,其功能是:发送、接收、接地线
  发送的数据是由开始位,数据位,停止位组成。开始停止均为高电平


  PC端先检测发送线是否为低电平,为低电平表示对方要发数据
  等待一段时间,然后开始检测数据,一般检测位的中间


  每一位占据多长时间:波特率(一秒钟之内要传输多少位),为115200
  开始位、数据位、停止位各占多少: 校验位为空,开始位没有设置,默认为1、数据位:8、停止位:1




  把数据写到一个缓冲器里面,硬件会自动发送数据
  读也一样。然后通过读寄存器获取数据


  先初始化串口,设置一些串口的参数,如波特率,数据位,停止位...
  GPA设置为串口的输入输出,设置为0010(专门给UART使用的)GPA0接收,GPA1发送


  设置串口0,这设置ULCON0


  红外模式:正常则设置0
  校验位:不使用,设置为000
  停止位: 0为1个
  数据位:8


电脑冲冲冲——修炼ARM11:UART

电脑冲冲冲——修炼ARM11:UART

  ULCON0 = 0x3 8n1 数据位8 无校验n 停止位1

电脑冲冲冲——修炼ARM11:UART

电脑冲冲冲——修炼ARM11:UART

  UCON0设置
  先设置时钟源,使用PCLK
  回环模式:内部接收和发送连在一起,测试用
  设置发送和接收模式

电脑冲冲冲——修炼ARM11:UART

电脑冲冲冲——修炼ARM11:UART

  可以使用Buffer,因为串口比较慢,最好用缓存区

  UFCON0最后一位使能,则使用

电脑冲冲冲——修炼ARM11:UART

  UMCON0流量控制,先设置为0

电脑冲冲冲——修炼ARM11:UART
  串口波特率配置寄存器UBRDIV0
  PCLK = 66.5MHz

  b = 115200

  UBRDIVO的计算公式:

  Div_val = 66.5 * 10^6 / 115200 /16 - 1 = 35.08 = UBRDIVO + VDIVSLOTO的1个数 / 16 = 35 + 0.8
得1的个数为1


电脑冲冲冲——修炼ARM11:UART

  读数据函数:

  读取UFSTAT0最后三位while(UFSTATO & 0x7f == 0);

  如果RX FIFO为空,等待

  6位为1则缓存器满,
  有数据则读取URXH0,即返回

电脑冲冲冲——修炼ARM11:UART
  写数据函数
  读取while(UFSTATO & (1 << 14)); 如果TX FIFO满,等待
  把数据送到UTXHO

  注意URXHO、UTXHO为unsigned char因为数据位八位


  下面把代码贴出来:

  

热点排行