找回密码
 立即注册
查看: 24337|回复: 2

LPC11E68串口USART1学习笔记

[复制链接]

61

主题

11

回帖

246

积分

版主

积分
246
发表于 2016-11-22 17:08:27 | 显示全部楼层 |阅读模式

LPC11E68微控制器带有5个USART串口。USART1-4与UART0不同,有一套不同的寄存器映射和寄存器功能。

USART1时钟

USART1外设挂载在LPC11E68微控制器的AHB总线上,使用时应先使能SYSAHBCLKCTRL寄存器的对应位来启用USART1时钟。USART经过FRGCLKDIV分频后就能得到USART外设的时钟。如果需要使用高精度的波特率,会用到小数发生器UARTFRG进行分频。USART1到USART4共用同一个时钟。

clock.jpg

USART1波特率计算

USART1外设有一个单独的波特率发生器寄存器BRG。波特率发生器是一个由BRG寄存器控制的简单的16位整数分频器。BRG寄存器包含用于分频基本时钟的值。通常,波特率时钟是实际波特率的16倍。波特率的计算公式为:

        USART = ((SystemCoreClock / FRGCLKDIV) / 16) / BRG

USART1的分数发生器包含两个寄存器:UARTFRGDIV和UARTFRGMULT。使用分数发生器时,计算公式为:

       U_PCLK = FRGCLKDIV/(1+(MULT/DIV))

UARTFRGDIV必须设置成0xFF。MULT的值为0到255。波特率的范围为1+0/256到1+255/256。

USART1中断

USART1中断寄存器INTENSET可以设置接收中断、发送中断、发送空闲中断等。USART1的中断服务程序与USART4共用同一个USART1_4_IRQHandler。

USART1使用方法

USART1初始化的过程:

1)  在IOCON寄存器设置USART1使用引脚的功能

2)  对SYSAHBCLKCTRL的位20进行置位,使能USART1的时钟。

3) 设置USART1的时钟分频系数FRGCLKDIV。

4) 波特率设置。设置BRG、UARTFRGDIV和UARTFRGMULT。并对通讯的起始位、停止位和校验方式等设置CFG寄存器。

5) 在NVIC寄存器设置USART1的中断服务程序。

USART1例程

例程使用的USART1的时钟为49.152MHz,波特率为9600,无校验。例程实现的功能是接收串口收到的数据,进行加1操作,然后发送到串口。试验结果如下。

usart.jpg


回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2018-9-30 10:21:33 | 显示全部楼层
博主,您好,能否发给我一份 MDK关于UART的工程文件,谢谢! rich_bxr@163.com
回复

使用道具 举报

0

主题

1

回帖

20

积分

新手上路

积分
20
发表于 2020-6-12 10:31:47 | 显示全部楼层
请问能不能发一份这个代码给我呀,非常感谢,谢谢,1152043458@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|YiBoard一板网 ( 冀ICP备18020117号 )

GMT+8, 2025-10-30 02:08 , Processed in 0.084394 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表