第六章 ARM9_串口UART及编程

时间:2025-07-11

arm, 嵌入式, C

第六章 S3C2410的串口UART及编程 S3C2410的串口 的串口UART及编程 6.1 S3C2410的串口UART概述 2410的串口 的串口UART概述6.1.1 S3C2410异步串行通信(UART)单元 2410异步串行通信 UART) 异步串行通信(S3C2410 UART单元提供3个独立的异步串行通信接口,皆可 UART单元提供 个独立的异步串行通信接口, 单元提供3 工作于查询、中断和DMA模式 模式。 工作于查询、中断和DMA模式。使用系统时钟最高波特率达 230. 4 kb/s,如果使用外部设备提供的时钟,可以达到更高的 kb/s,如果使用外部设备提供的时钟, 速率。每一个UART单元包含一个 字节的 单元包含一个16字节的FIFO( 速率。每一个UART单元包含一个16字节的FIFO(First Input First Output,先进先出移位寄存器),用于数据的接收和发 Output,先进先出移位寄存器), ),用于数据的接收和发 送。 S3C2410 UART支持可编程波特率、红外发送/接收( UART2 )、 UART支持可编程波特率 红外发送/接收( 支持可编程波特率、 )、 1个或2个停止位、5位/6位/7位/8位数据宽度和奇偶校验。 个或2个停止位、 /6位/7位/8位数据宽度和奇偶校验 位数据宽度和奇偶校验。

arm, 嵌入式, C

6.1.2 波特率的产生波特率由一个专用的UART波特率分频寄存器 波特率由一个专用的UART波特率分频寄存器(UBRDIVn) 波特率分频寄存器(UBRDIVn) 控制,UBRDIVn值计算公 控制,UBRDIVn值计算公 如下: 如下: UBRDIVn=(int)[ULK/(波特率 16)]- UBRDIVn=(int)[ULK/(波特率× 16)]-1 波特率× UBRDIVn=(int) [PLK/(波特率× 16)]-1 [PLK/(波特率 16)]- 波特率× 或者 式中:时钟选用ULK还是 还是PLK由UART控制寄存器 式中:时钟选用ULK还是PLK由UART控制寄存器 UCONn[10]的状态决定 如果UCONn[10]=0,则用PLK作 UCONn[10]的状态决定。如果UCONn[10]=0,则用PLK作 的状态决定。 为波特率发生器的时钟源频率;否则选用ULK作为波特率 为波特率发生器的时钟源频率;否则选用ULK作为波特率 发生器的时钟源频率。UBRDIVn的值必须在 的值必须在1~(216-1)之 发生器的时钟源频率。UBRDIVn的值必须在1~(216-1)之 间。 例如: ULK或者 或者PLK等于 MHz,当波特率为115200 等于40 例如:若ULK或者PLK等于40 MHz,当波特率为115200 b/s 时,则 UBRDIVn=(int)[40 000 000/(115 200 ×16)]一1=int(21. 7)- 16)]一 7)- 1= 21-1=20 21-

arm, 嵌入式, C

6.1.3 UART通信操作 UART通信操作 下面简略介绍UART操作,关于数据发送、 下面简略介绍UART操作,关于数据发送、数据接 操作 收、中断产生、波特率产生、查询检测模式、红外 中断产生、波特率产生、查询检测模式、 模式的详细介绍,参见下面6.3节 模式的详细介绍,参见下面6.3节。 发送数据帧是可编程的。一个数据帧包含1 发送数据帧是可编程的。一个数据帧包含1

个起始 5~8个数据位 个可选的奇偶校验位和1~2位 个数据位、 位、5~8个数据位、1个可选的奇偶校验位和1~2位 ULCONn配置。 停止位,停止位通过行控制寄存器ULCONn配置 停止位,停止位通过行控制寄存器ULCONn配置。 与发送数据帧类似,接收数据帧也是可编程的。 与发送数据帧类似,接收数据帧也是可编程的。接 收帧由1个起始位、5~8个数据位 个数据位、 收帧由1个起始位、5~8个数据位、l个可选的奇偶 校验位以及1~2位行控制寄存器 位行控制寄存器ULCONn中设定的 校验位以及1~2位行控制寄存器ULCONn中设定的 停止位组成。接收器还可以检测溢出错、 停止位组成。接收器还可以检测溢出错、奇偶校验 帧错误和传输中断, 错、帧错误和传输中断,每一个错误均可以设置一 个错误标志。 个错误标志。

arm, 嵌入式, C

溢出错误(overrun error):指已接收到的数据在读 溢出错误(overrun error): 取之前被新接收的数据覆盖; 取之前被新接收的数据覆盖; 奇偶校验错:指接收器检测到的校验和与设置的 奇偶校验错: 不符; 不符; 帧错误:指没有接收到有效的停止位; 帧错误:指没有接收到有效的停止位; 传输中断:表示接收数据RxDn保持逻辑0超过一 传输中断:表示接收数据RxDn保持逻辑 保持逻辑0 帧的传输时间。 帧的传输时间。 FIFO模式下 如果RxFIFO非空 而在3 模式下, 非空, 在FIFO模式下,如果RxFIFO非空,而在3个字的传 输时间内没有接受到数据,则产生超时。 输时间内没有接受到数据,则产生超时。

arm, 嵌入式, C

6.2 UART的控制寄存器 UART的控制寄存器6.2.1 UART行控制寄存器ULCONn UART行控制寄存器 行控制寄存器ULCONn该寄存器的位6决定是否使用红外模式, 该寄存器的位6决定是否使用红外模式,位5、位4和位3决定 和位3 校验方式, 决定停止位长度, 和位0 校验方式,位2决定停止位长度,位1和位0决定每帧的数据位 具体如下: 数。具体如下: ULCONn[7] 保留; 保留; ULCONn[6] 红外线模式,0:正常模式;1:红外线模式; 红外线模式, 正常模式; 红外线模式; ULCONn[5: 校验模式,0xx:无校验;100:奇校验;101: ULCONn[5:3] 校验模式,0xx:无校验;100:奇校验;101: 偶校验; 偶校验; ULCONn[2] 停止位,0:一个停止位;1:二个停止位; 停止位, 一个停止位; 二个停止位; ULCONn[1: 数据位,00: ULCONn[1:0] 数据位,00:5位;01:6位;10:7位;11:8 01: 10: 11: 位。

arm, 嵌入式, C

6.2.2 UART控制寄存器UCONn UART控制寄存器 控制寄存器UCONn该寄存器决定UART的各种模式 该寄存器决定UART的各种模式。 的各种模式。 …… 此处隐藏:5861字,全部文档内容请下载后查看。喜欢就下载吧 ……

第六章 ARM9_串口UART及编程.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219