← 2022 · 大疆创新 笔试

推荐答案 测试一下

假设,在某SoC环境中,有一个UART控制器,将其链接至主机并打开串口工具进行连接后,假设已排除所有的硬件电路故障,那么以下说法正确的是:

A、假设终端显示的字符均为乱码,则很有可能是波特率设置不正确 B、假设没有任何显示,则很可能是代码对UART控制器未进行初始化 C、假设该串口输出正常,却无法接收输入的字符,则很可能是UART的中断信号未正确连接 D、假设UART的输出完全正常,但是无法接收输入的字符,则很可能是未设置正确的波特率
单选题 中等 笔试真题单选

参考答案

正确答案:A。 解析:UART调试中,终端显示乱码最常见的原因是收发双方的波特率不匹配。当发送端与接收端的波特率不一致时,接收端采样到的数据位时序偏移,无法正确还原原始数据,从而显示为乱码。 选项B:没有任何显示可能是UART控制器未初始化(如未使能时钟、未配置GPIO复用功能、未设置数据格式等),但题目已排除硬件电路故障,初始化属于软件配置问题,有可能导致无输出;然而,若真正未初始化,很多SoC的UART引脚处于高阻或默认状态,不会产生任何信号,终端无显示是合理的。但相比A,乱码是更直接指向波特率错误的经典案例,且B中的“很可能”不如A确定,因为无显示也可能是其他原因(如工具未连接正确、线序问题,但已排除硬件故障则这些不成立),所以A更准确。 选项C:UART无法接收字符可能与中断未正确连接有关,但题目明确排除了所有硬件电路故障,即连线、电平、中断请求线等物理连接应无问题。此外,接收也可以采用轮询方式,不依赖中断。因此中断未连接不是导致无法接收的唯一或最可能原因,该说法错误。 选项D:如果UART输出完全正常,说明发送端的波特率设置正确,而UART通常使用同一套波特率配置进行收发,因此接收波特率也应正确。无法接收更可能是接收使能未打开、接收FIFO溢出、数据格式不匹配(如停止位、校验位)等软件配置问题,而非波特率问题。故D错误。 综上,A为正确选项。

涉及知识点

  • UART通信原理
  • 波特率不匹配的典型现象
  • UART初始化流程
  • 中断与轮询接收的区别
  • 收发波特率一致性
← 上一题
登录后反馈错题
下一题 →