串行端口地址及寄存器功能详细资料

UEFI开发历程4—串口调试功能的探索 前言 现如今,由于BIOS代码在生成bin文件烧录进板子后,我们无法看见程序变量的变化,故而导致调试困难。我们都知道,大部分语言程序都有几种方法:日志打印、单步调试等方法。然而BIOS是一个开机过程中的用于初始化的系统,它不是一个软件,因此没有实体界面可以观察变量的改变。但由于主板上存在着串口,因此,串口调试对于BIOS来说是一种非常重要的调试手段。 串口调试实现方法 串口调试功能的打开有三种方式:IO配置寄存器并通过寄存器发送/接收数据的方式、Protocol配置寄存器并通过Protocol提供的读 阅读详情

PC机上,COM1和COM2的地址是3F8~3FF 及2F8~2FF,在这个范围内的每个地址都有不同的功能,这些功能分别通过寄存器来实现,读写这些寄存器就可以执行与串行端口相关的功能。而所谓的寄存器就是暂时存放信息的地方,这些被存放在此的信息是以位的形式存储,通常以8个位(一个字节)作为一个单位。读写这些寄存器地址的同时,也就是读取这些代表的状态或控制某些功能。

   

COM1

COM2

寄存器名称

简称

3F8

2F8

波特率分频器(低八位)

BDR

3F9

2F9

波特率分频器(高八位)

BDR

3F8

2F8

传送信息/接收信息寄存器

DR

3F9

2F9

中断启动寄存器

IER

3FA

2FA

中断辨识寄存器

IIR

3FB

2FB

传输线控制寄存器

LCR

3FC

2FC

调制解调器控制寄存器

MCR

3FD

2FD

传输线状态寄存器

LSR

3FE

2FE

调制解调器状态寄存器

MSR

上表中,3F8,3F9及2F8,2F9分别有两种功能,显然还需要其他寄存器的信号来加以区别。

在串行通信中,这一点是通过使用传输线控制寄存器(LCR)上的第7位来实现的。这个位被称为分频器锁存器存取位(Divistor Latch Access Bit,DLAB),当DLAB为0时,表示读写信息寄存器和中断启动寄存器;当DLAB为1时,表示读写波特率分频器的内容。

以下是各寄存器的说明:

l        BDR:设置使用串行通信的传输速度。

串口波特率和数据格式的设置:

首先向LCR(传输线控制寄存器)的高位写入1(即DLAB为1),然后再设置波特率:在基地址和基地址+1的地方写入的数据为1843200/(16*波特率)。然后设置LCR,最后设置Modem控制寄存器和中断允许寄存器。波特率数值=1843200/(16*波特率)(十进制,可转化为十六进制)

outportb(0x3fb,0x80); 对LCR的最高位置‘1',是说明以下为输入波特率因子

outportb(0x3f8,0x0c); //outportb(0x3f8+0,0x0C)输入波特率因子的低8位/9600

outportb(0x3f9,0x00); //outportb(0x3f8+1,0x00) 输入波特率因子的高8位

l        DR  先令DLAB为0,再读取3F8就等于读取被传送到COM1的信息。若将信息写入3F8,则信息会被放入传送寄存器中,并被芯片内的移位寄存器一位接着一位地送出去。

l        IER  用来启动芯片中的4种中断,该位为1时表示该中断被启动。

         Bit0:接收的信息有效中断启动。

         Bit1:传送器保持寄存器已空中断启动

         Bit2:接收器连接状态中断启动

         Bit3:调制解调器状态中断启动

         Bit4-Bit7:永远为0

outportb(0x3f9,0x01); //启动中断,接收数据有效

l        IIR  通过读取此寄存器可以知道中断的产生是由谁所引发。

        Bit0:为0时表示尚有中断未处理;为1时表示无中断。

Bit2

Bit1

中断来源

0

0

调制解调器状态

0

1

传送器保存寄存器空着

1

0

接受信息为有效

1

1

连接控制状态

Bit3~Bit7 :永远为0

outportb(0x3fa,0x07);  //表示处于连接控制状态

l        LCR  此寄存器定义传输信息的格式。各位的意义如下:

Bit0

Bit1

意义

0

0

字符长度为5个位

0

1

字符长度为6个位

1

0

字符长度为7个位

1

1

字符长度为8个位

Bit2:终止位。设为0表示使用1个终止位;设为1时有两种情况,字符长度为5时表示1.5个终止位,而字符长度不是5时则表示2个终止位。

Bit3:奇偶校验位启动。设为0时表示无奇偶校验位,设为1时表示使用奇偶校验位。

Bit4:奇偶校验方式选择。设为0时选择奇校验;设为1时选择偶校验。

Bit5:指定奇偶校验位的方式。设为0时表示不限制;设为1时,则选择奇校验时,奇偶校验位为1;选择偶校验时,奇偶校验位为0。

Bit6:终止控制位。设为0时表示正常输出;设为1时则强迫输出0。

Bit7:除法器轩锁位。设为0时表示存取信息寄存器;设为1时表示存取波特率分频器。

outportb(0x3fb,0x80); //对LCR的最高位置‘1',是说明以下代码为输入波特率因子

l        MCR 用来控制调制解调器的接口信号。

         Bit0:设为1时,DTR脚位为LOW;设为0时,DTR脚位为HIGH。

         Bit1:设为1时,DTS脚位为LOW;设为0时,RTS脚位为HIGH

         Bit2,Bit3:用于控制芯片上的输出,新型芯片现已不用。

         Bit4::设为1时,芯片内部作自我诊断。

         其他位永远为0

outportb(0x3fc,0x0b);  //见上

l        LSR 表示信息传送过程种的各种状态。各位为1时表示该状态成立,为0时不成立

          Bit0:数据已接收完毕。(Data Ready)

          Bit1:数据溢出错误。(Overrun Error)

          Bit2:奇偶校验位错误。(Parity Error)

          Bit3:信息框错误。(Framing Error)

          Bit4:终止中断。(Break Interrupt)

          Bit5:传送器保存寄存器空闲(Transmitter Holding Register Empty)。

          Bit6:传送移位寄存器空闲(Transmitter Shift Register Empty)。

          Bit7:永远为0

l        MSR 此寄存器高4位为调制解调器控制线目前状态;低4位在调制解调器有信号时被设为1,在被读取后会恢复为0。

         Bit0:1时表示CTS信号改变

         Bit1:1时表示DSR信号改变

         Bit2:1时表示RI信号改变

         Bit3:1时表示DCD信号改变

         Bit4:CTS信号的补码

         Bit5:DSR的补码

         Bit6:RI信号的补码

         Bit7:DCD信号的补码。

    

51单片机的特殊功能寄存器(SFR) 阅读前提醒: 文中提到的8051指的是8051微控制器,即51单片机在上一篇文章中,提到8051微控制器的RAM被划分为通用寄存器、按位寻址寄存器、寄存器组、以及特殊功能寄存器。这里讲一下特殊功能寄存器(SFR)。8051的特殊功能寄存器用于控制各种外围硬件设备,包括定时器、串行端口、I/O端口。也可以用于更改和获取微处理器的运行模式。 阅读详情

相关推荐

深入解析TMS320C5x DSP的HPI与串行端口通信机制及指令集优化

在嵌入式系统与数字信号处理领域,处理器与外设的高效数据交换是系统性能的关键。其核心原理在于通过专用硬件接口实现主机与从处理器、或处理器与外部设备间的并行或串行通信,从而减少CPU开销,提升实时性。从技术价值看,这类通信接口不仅关乎数据吞吐率,更直接影响系统功耗、扩展性及多芯片协同能力。典型的应用场景包括音频处理、工业控制、通信基站以及需要低功耗唤醒的便携设备。本文聚焦于经典DSP架构中的主机端口接口与串行端口家族,深入探讨其工作模式、硬件配置及在工程实践中的避坑指南,并结合强大的乘累加指令和零开销循环特性,

weixin_28684757的博客 344

理解电脑上的串口对应的端口号(com口)

每次看到台式电脑上的com1、com2都会迷惑不解,只知道它们是串口的端口号。 其实,串口至少分为RS232串口、RS422串口、RS485串口(还有没有其它我就不知道了), 其中RS232串口即为com口。而COM口( cluster communication port )即串行通讯端口, 也就是我们所说的串口的端口。 那么电脑上的com1、com2有什么区别呢? 1、com1和co

可乐虎博客 3万+

深入解析AM275x MCASP寄存器:从引脚控制到全局配置实战

在嵌入式音频系统开发中,多通道音频串行端口(MCASP)是处理音频数据流的核心硬件引擎。其工作原理基于一组高度可配置的寄存器,通过内存映射方式直接控制音频接口的时序、数据格式与传输状态。理解寄存器底层机制的技术价值在于,它能帮助工程师构建高可靠性、低延迟的音频系统,避免因配置不当导致的时序错位、噪声干扰等问题。典型的应用场景包括专业音频设备、车载信息娱乐系统和工业音频处理,其中对引脚功能寄存器(PFUNC)和全局控制寄存器(GBLCTL)的精确配置尤为关键。例如,PFUNC寄存器决定了物理引脚是用于音频功能

weixin_29173777的博客 281

串口UART

如何查看Linux系统下串口信息? 从上面的信息可知串口设备为16550A,占用的io口为0x3f8。下面看下UART占用的端口的范围。 看到serial占用的io口范围为0x03f8~0x03ff,共8个port。   UART 16550A驱动代码8250_core.c文件中实现,初始化函数serial8250_init。从struct uart_driver类型的

weijitao的博客 2187

复古与新生:老毛子Padavan固件在旧设备上的现代化应用之旅

本文探讨了如何通过刷入Padavan固件,让小米路由器3G(R3G)等老旧设备重获新生,实现现代化应用。详细介绍了从硬件潜力分析、智能家居中枢搭建,到轻量级服务器部署和网络功能扩展的全过程,为技术爱好者提供了一条低成本、高性能的设备改造之路。

k8s6orchestrator的博客 1061

空天大模型详解

空天大模型是指面向空天信息领域(如卫星遥感、导航、气象等)设计的多模态人工智能模型,能够处理海量遥感数据、多传感器信息及跨时空分析任务。多模态融合:整合可见光、雷达、热红外、多光谱等多源遥感数据,构建统一表征空间,例如“空天·灵眸”3.0版支持航空、卫星及无人机数据的自动化解译。轻量化与高效推理:针对星载计算场景,采用分层量化、跨模态蒸馏技术压缩模型参数(如JigonGPT从1.02B压缩至0.23B,性能仅牺牲5.2%)18,并通过热传导架构提升计算速度2.4倍。神经符号结合。

zxy98的专栏 1569

PC串行端口地址及寄存器功能详细资料

PC机上,COM1和COM2的地址是3F8~3FF 及2F8~2FF,在这个范围内的每个地址都有不同的功能,这些功能分别通过寄存器来实现,读写这些寄存器就可以执行与串行端口相关的功能。而所谓的寄存器就是暂时存放信息的地方,这些被存放在此的信息是以位的形式存储,通常以8个位(一个字

4977

[Unity实战]热更新如何预防过度裁剪

假设你现在有一个游戏客户端,客户端只打包了入口场景,游戏场景都存放在了AB包。

u012587406的博客 1605

8051的特殊功能寄存器

特殊功能寄存器 8051有21个特殊功能寄存器,其中大部分是8位的,还有一些是16位的。我们对51单片机的操作实质是对特殊功能寄存器的操作。SFR是我们操作的对象,对他们进行读和写就是在操作51单片机。 PSW(程序状态字寄存器):保存程序在执行过程中一些状态。 CY:进位位CY是在执行加法(减法)时,如果第7位有进位(借位),则将CY置1...

zy010101博客 1万+

用 SAP-ABAP-1 把 ABAP 代码理解这件事交给 AI:从遗留代码到 ABAP Cloud 的开发加速器

SAP-ABAP-1是SAP推出的首个专用ABAP基础模型,专注于理解和解释ABAP代码,帮助开发者更快迁移和维护遗留系统。它强调ABAP Cloud合规编码实践,通过SAP AI Foundation提供访问,主要能力包括代码解释、业务语义理解和框架约束分析。相比通用模型,它能更好处理ABAP特有的版本差异、权限控制和扩展边界等问题。该模型可集成到多种开发环境中,支持文件化开发体验,并能与SAP Joule等工具协同工作,为ABAP团队提供智能辅助。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3824

Backtrader Web:开源量化交易全栈平台

Backtrader Web是一个基于Backtrader框架的现代化量化交易全栈平台,将专业回测引擎与Web技术结合,提供从策略开发到实盘交易的完整解决方案。平台采用FastAPI+Vue3技术栈,具有118个内置策略模板、专业可视化分析工具和完整的策略生命周期管理功能。支持策略版本控制、参数优化、模拟/实盘交易及监控告警,通过RESTful API和WebSocket实现前后端交互。系统采用模块化设计,包含策略服务、回测服务等核心模块,支持SQLite/PostgreSQL等多种数据库。安装简单,5分钟

云金杞 643

串行端口脚位定义及其意义

计算机正常启动后,RS232端口COM1、COM2、COM3、COM4的地址一般被安排在3F8、2F8、3E8、2E8,用于了解外部状态的寄存器地址则被分别设置为3FE、2FE、3EE、2EE,用于控制外部设备的寄器地址则被设置3FC、2FC、3EC、2EC,。RS232接口的针脚安排如下:  D型25芯接头 D型9芯接头 pin8....CD pin1 pin3...RxD pin2 pin2.

打印/传真嵌入式开发--张志龙的专栏 4627

基于STM32H5的循环GPDMA链表使用

STM32H503的GPDMA链表模式可实现灵活的数据传输。相比传统DMA直接编程方式,链表模式通过配置多个节点实现分散数据传输,支持循环链表功能。示例展示了如何使用GPDMA链表实现UART1循环发送数据:配置两个DMA节点分别指向不同发送缓冲区,构建循环链表并绑定到DMA通道。关键点包括:清空链表结构体、正确设置循环模式、检查节点配置。此方法提高了DMA使用的灵活性,适用于需要交替传输多段数据的场景。

kevin1499的博客 452

ARM PL022同步串行端口集成与优化实战

同步串行接口(SSI)是嵌入式系统中的基础通信技术,通过时钟信号同步实现全双工数据传输。其核心原理基于主从设备间的时钟相位(CPHA)和极性(CPOL)匹配,支持SPI、Microwire等多种协议格式。在ARM架构中,PL022作为PrimeCell系列经典IP核,集成了双FIFO结构和DMA接口,能显著提升数据传输效率。该控制器特别适用于物联网设备、工业传感器等需要可靠串行通信的场景。通过合理配置时钟域和中断系统,开发者可以优化PL022在ASIC设计中的性能表现,实现高达25MHz的稳定传输速率。本文

weixin_30448603的博客 345

携程滑块、点选验证码登录识别逆向

本文分析了携程登录系统的风控机制,主要包含三种验证场景:无验证码、滑块验证码和二次图标点选验证码。通过跟踪risk_inspect风控接口,发现验证流程采用标准AES加密,需提交设备指纹等加密信息。当触发验证码时,需额外提交包含轨迹坐标的verify_msg参数及token/rid参数。最终通过风控检测后,需使用一致的指纹参数和验证token完成加密登录。文章强调所有分析仅用于学习,代码实现需确保符合法律规范。

码王吴彦祖的博客 1100

〔重庆理工大学〕大学物理实验--变温霍耳效应及其参数测定

每个老师要求不同,实验报告内容和数据仅供参考。

Pretty Boy Fox的博客 3044

串行端口通讯口的输入数据寄存器

;假定串行通讯口的输入数据寄存器的端口地址为50h,状态寄存器的端口 ;地址为51h,状态寄存器各位为1时含义如下,请编一程序输入一串字符并 ;存入缓存区BUFF,同时教研输入的正确性,如有错则转出错处理程序 ;含义: ; 0~7位: ;0:输出寄存器空,1:输入数据准备好,3:奇偶校验错,4:溢出错,5:格式错 ;其它位无意义 assume ds:data,cs:code data seg...

qq511714326的博客 1199

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

什么是寄存器映射(Register Mapping)?

寄存器映射(Register Mapping)是硬件设计和低级软件编程中的一个重要概念。它描述了如何将内存地址或I/O地址与处理器或其他硬件模块的寄存器对应起来。这种映射可以是一个处理器如何访问外围设备(如计时器、串行接口)的关键机制。理解寄存器映射对于设计和调试硬件接口至关重要。

不积跬步无以至千里 1949

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

McBSP串行端口配置详解:从复位到I2S音频接收实战

在嵌入式系统和数字信号处理(DSP)应用中,同步串行通信是实现高效数据交换的核心技术。其基本原理是通过共享的时钟信号,在发送端和接收端之间同步传输数据位流,确保时序的精确对齐。这种通信方式的技术价值在于其高可靠性、低延迟和可预测的时序,使其成为音频编解码、电信时隙(如T1/E1)以及传感器数据采集等场景的理想选择。具体到应用层面,多通道缓冲串行端口(McBSP)作为高度可配置的同步串行引擎,通过灵活的时钟域和帧同步机制,完美支持了这些复杂的数据流协议。本文聚焦于McBSP的配置逻辑,深入剖析其复位初始化流程

axfcjwkbi259888707的博客 655

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ARM寄存器

一。寄存器分类 看手册A2.3 ARM处理器总共有37个寄存器,31个通用,6个状态 1.通用寄存器(31个) 1.1 未分组通用寄存器(R0-R7)可以用作任何目的 1.2 分组通用寄存器(R8-R12)在切换到FIQ模式的时候,使用它们的影子寄存器(shadow) 特殊寄存器:R13、R14、R15 1.2.1:R13用来当SP栈指针,存储栈地址 1.2.2:R14用来当链接寄

lincuiting06的专栏 605

德州仪器McBSP串行端口发送器配置详解:从时钟帧同步到寄存器编程实战

串行通信是嵌入式系统中实现芯片与外部设备数据交换的基础技术,它通过单根或少数几根数据线,配合时钟信号逐位传输数据,具有布线简单、抗干扰能力强的特点。其核心原理在于精确的时序控制,发送方和接收方必须基于共同的时钟节拍与帧同步信号来协调数据的发送与接收位置,这直接决定了通信的可靠性与效率。在数字信号处理、音频编解码、工业传感器数据采集等场景中,稳定高效的串行通信是实现实时信号处理与系统互联的关键。德州仪器(TI)DSP及微控制器中集成的多通道缓冲串行端口(McBSP)便是一种高度可配置的串行通信接口,尤其适用于

weixin_30888413的博客 548
上一篇: VB中自动检测串口输入
下一篇: 串行端口脚位定义及其意义
张志龙
博客等级 码龄24年 412粉丝 131原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值