image

编辑人: 沉寂于曾经

calendar2025-08-03

message4

visits678

2021年06月机器人五级理论答案及解析

一、单选题

1、整型变量val的值为0xAA,函数bitSet(val,2)的运算结果是?

A、0xAA

B、0xAE

C、0xEA

D、0xAC

解析:【喵呜刷题小喵解析】:函数bitSet(val,2)应该是用来设置整型变量val的第2位为1,其余位保持不变。原始的整型变量val的值为0xAA,其二进制形式为01010101,设置第2位为1后,二进制变为01011010,即十进制的0xAE。因此,函数bitSet(val,2)的运算结果是0xAE。

2、共阳数码管和74HC595芯片连接如下图所示,执行下列程序后,数码管显示的图形如图中红色所示,shiftout程序行[ ]内的数值为?

A、0xBE

B、0x41

C、0x7D

D、0x82

解析:【喵呜刷题小喵解析】根据提供的图片和题目描述,共阳数码管和74HC595芯片连接后,数码管显示的图形如红色所示。74HC595芯片用于驱动数码管,它通过shiftout函数来发送数据。题目中给出了四个可能的数值,我们需要确定哪一个数值能使数码管显示正确的图形。首先,我们来看每个数值对应的二进制表示:A. 0xBE -> 10111110B. 0x41 -> 01000001C. 0x7D -> 01111101D. 0x82 -> 10000010根据数码管的显示图形,我们可以推断出正确的数值。由于数码管是共阳的,所以数码管的段选线应该接高电平(通常是VCC),而位选线接低电平(通常是GND)。这样,与段选线相连的段会点亮。观察图片,我们可以发现数码管显示的是数字“2”。在共阳数码管中,数字“2”对应的段编码是0110000(即二进制的0x60)。接下来,我们将每个数值与0x60进行与运算,看哪一个数值与0x60的结果非零。A. 0xBE & 0x60 = 0B. 0x41 & 0x60 = 0C. 0x7D & 0x60 = 0D. 0x82 & 0x60 = 0x60从上面的结果可以看出,只有D选项的数值与0x60的结果非零,说明D选项的数值能使数码管显示正确的图形。因此,答案是D选项。

3、在串口监视器窗口发送字符串“Hello123”如下图所示,点击【发送】按钮后,Serial.avaiable()函数返回的值为?

A、0

B、8

C、9

D、10

解析:【喵呜刷题小喵解析】在串口监视器窗口发送字符串“Hello123”,点击【发送】按钮后,Serial.avaiable()函数返回的值是10。因为字符串“Hello123”共有10个字符,Serial.avaiable()函数返回的是串口缓冲区中可用字符的个数,由于刚刚发送了10个字符,所以Serial.avaiable()函数返回的值是10。选项D表示的是10,与正确答案相符。

4、74HC595移位寄存器芯片的下列引脚中,用于级联时传送数据的引脚是?

A、SH_CP

B、ST_CP

C、Ds

D、Q7’

解析:【喵呜刷题小喵解析】在74HC595移位寄存器芯片中,用于级联时传送数据的引脚是Q7。这是因为在级联模式下,数据从一个74HC595的Q7引脚输出,并作为下一个74HC595的Ds(数据选择)引脚的输入。因此,正确答案是D,即Q7。

5、ESP32 for Arduino,电路如图所示,当按键保持按下状态时触发中断,对应的中断触发模式是?

A、ONLOW

B、ONHIGH

C、RISING

D、FALLING

解析:【喵呜刷题小喵解析】:根据电路图,当按键保持按下状态时,引脚nA应为低电平,nB应为高电平。根据中断触发模式,ONLOW表示当引脚为低电平时触发中断,ONHIGH表示当引脚为高电平时触发中断。因此,当按键保持按下状态时,引脚nA为低电平,应该触发ONLOW中断模式。而nB为高电平,不会触发ONHIGH中断模式。对于引脚nC和nD,题目中没有给出具体的中断触发模式,因此无法判断。因此,正确答案是B,即nB的ONHIGH中断模式。

6、String类库成员函数中,从字符串中查找指定字符的函数是?

A、indexOf()

B、substring()

C、endsWith()

D、findUntil()

解析:【喵呜刷题小喵解析】:在Java的String类库中,用于从字符串中查找指定字符的函数是`indexOf()`。该函数返回指定字符或子串在字符串中首次出现的索引,如果未找到则返回-1。所以,选项A是正确答案。其他选项的含义如下:B. `substring()` 是用于提取字符串的子串的函数;C. `endsWith()` 是用于检查字符串是否以指定的后缀结束的函数;D. `findUntil()` 不是String类库的标准函数,可能是题目中的错误或用户自定义的函数。

7、ESP32主控板,设置数字引脚为内部下拉输入模式时,对应的参数是?

A、INPUT

B、OUTPUT

C、INPUT_PULLUP

D、INPUT_PULLDOWN

解析:【喵呜刷题小喵解析】:在ESP32主控板中,当需要将数字引脚设置为内部下拉输入模式时,对应的参数是`INPUT_PULLDOWN`。这是因为`INPUT_PULLDOWN`模式允许引脚配置为输入,同时启用内部下拉电阻。这是下拉输入模式,即引脚被内部电阻下拉至低电平,除非外部信号源将其拉高。其他选项如`A INPUT`、`B OUTPUT`和`C INPUT_PULLUP`分别代表输入模式、输出模式和上拉输入模式,它们与内部下拉输入模式不符。因此,正确答案是`D INPUT_PULLDOWN`。

8、ESP32 for Arduino,电路如图所示,运行下列程序后,当按键按下时LED灯点亮,第2行程序中mode对应的是?

A、INPUT

B、OUTPUT

C、INPUT_PULLUP

D、INPUT_PULLDOWM

解析:【喵呜刷题小喵解析】根据题目中的电路图,按键连接的引脚被标记为INPUT_PULLUP,因此当按键按下时,该引脚会被拉低,从而触发LED灯的点亮。因此,mode对应的应该是INPUT_PULLUP,即选项D。

9、表达式0x2F<<2的运算结果是?

A、0x5E

B、0xBC

C、0x78

D、0xB

解析:【喵呜刷题小喵解析】:根据位运算的规则,左移运算<<是将二进制数左移指定的位数,高位用0填充。0x2F的二进制表示为00101111,左移2位后变为01011110,即0x5E。因此,表达式0x2F<<2的运算结果是0x5E。

10、ESP32程序中模拟输入取样分辨率设置语句为analogSetWidth(11),函数analogRead()返回的最大值是?

A、511

B、1023

C、2047

D、4095

解析:【喵呜刷题小喵解析】:在ESP32程序中,模拟输入取样分辨率设置语句为analogSetWidth(11),这意味着设置了12位(二进制位)的ADC(模数转换器)宽度。一个12位的ADC可以表示的最大值是2^12 - 1,即4095。因此,函数analogRead()返回的最大值是4095,选项C正确。

11、近日,华为公司发布了面向AI时代的基于微内核的全场景分布式OS,其名称为?

A、安卓

B、麒麟

C、鸿蒙

D、红旗

解析:【喵呜刷题小喵解析】:华为公司发布的面向AI时代的基于微内核的全场景分布式OS,其名称是“鸿蒙”。这是华为推出的一个全新的操作系统,旨在应对未来AI时代的挑战,提供更为高效、灵活和安全的运行环境。因此,正确答案是C、鸿蒙。

12、ESP32 for Arduino采用LEDC方式进行模拟输出时,将指定通道上的PWM信号映射到指定引脚的函数是?

A、ledcSetup()

B、ledcAttachPin()

C、analogWrite()

D、ledcWrite()

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,当使用LEDC方式进行模拟输出时,将指定通道上的PWM信号映射到指定引脚的函数是`ledcAttachPin()`。这个函数的作用是将LED通道与特定的引脚关联起来,使得可以通过LEDC通道来控制该引脚的PWM输出。因此,正确答案是B选项。其他选项如`aledcSetup()`、`analogWrite()`和`ledcWrite()`与题目描述的功能不符。

13、ESP32主控板采用DAC进行模拟输出时,最多可实现模拟输出的通道数是?

A、2

B、8

C、16

D、34

解析:【喵呜刷题小喵解析】:ESP32主控板是一款功能强大的微控制器,具有多个通道进行模拟输出。但根据题目的信息,并未明确指出ESP32主控板采用DAC(数模转换器)进行模拟输出时的通道数。在提供的选项中,题目给出的选择并没有确切的答案。但在一般的情况下,ESP32主控板可能具有多个DAC通道,但具体数量取决于具体的型号和配置。因此,在没有具体信息的情况下,无法确定ESP32主控板采用DAC进行模拟输出时的通道数。但题目中给出的选项,我们只能根据一般知识和经验进行判断。在没有更多信息的情况下,我们可以假设选项A "2"是最可能的选择,因为它是最小的数字,但这仍然是一个假设,并不是确切的答案。因此,在没有确切信息的情况下,选择A "2"可能是最合理的选择,但这仍然是一个基于假设的答案。

14、UART进行数据传送时,下列说法正确的是?

A、数据传送时,先发送数据的低位

B、数据传送时,先发送数据的高位

C、起始位为高电平

D、停止位为低电平

解析:【喵呜刷题小喵解析】UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。在UART进行数据传送时,数据的发送是从最低位(LSB)开始的,因此选项A“数据传送时,先发送数据的低位”是正确的。选项B“数据传送时,先发送数据的高位”是错误的。起始位通常是低电平,因此选项C“起始位为高电平”也是错误的。停止位通常是高电平,因此选项D“停止位为低电平”也是错误的。

15、程序中数组定义为int array[][2] = {1,2,3,4,5,6};下列确定数组长度的表达式,正确的是?

A、sizeof(array)

B、sizeof(array[])

C、sizeof(array)/sizeof(int)

D、sizeof(array)/sizeof(array[0])

解析:【喵呜刷题小喵解析】在C语言中,`sizeof`运算符用于获取数据类型或对象的大小(以字节为单位)。对于数组,`sizeof`返回的是整个数组所占用的内存大小。对于`int array[][2] = {1,2,3,4,5,6};`,这是一个二维数组,但第二维的大小是固定的,为2。第一维的大小则是由初始化列表中的元素数量决定的。在这个例子中,初始化列表中有6个元素,因此第一维的大小是3(即6除以2)。因此,整个数组`array`的大小是3个元素乘以每个元素2个int大小,即6个int的大小。A选项:`sizeof(array)` 返回的是整个数组的大小,而不是第一维的大小,所以A是错误的。B选项:`sizeof(array[])` 是错误的,因为`array[]`并不是一个有效的数组类型或对象,它不能作为`sizeof`的参数。C选项:`sizeof(array)/sizeof(int)` 返回的是数组元素的总数,即第一维的大小,因为`sizeof(int)`是一个int的大小,所以C是正确的。D选项:`sizeof(array)/sizeof(array[0])` 返回的是第一维的大小,但`array[0]`是一个长度为2的数组,`sizeof(array[0])`返回的是2个int的大小,所以D返回的是3,而不是第一维的大小,因此D是错误的。

16、UART进行数据传送时,用于数据接收的引脚是?

A、RX

B、TX

C、GND

D、Vcc

解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。在这种协议中,数据通过一根发送线(TX)和一根接收线(RX)进行传输。因此,用于数据接收的引脚是RX。选项A中的"RX"是正确的答案。

17、ESP32 for Arduino中,程序Serial.printf()中表示字符串输出的格式字符是?

A、%o

B、%d

C、%s

D、%f

解析:【喵呜刷题小喵解析】:在Arduino中,Serial.printf()函数用于在串口输出格式化的字符串。在这个函数中,我们可以使用特定的格式字符来指定输出的数据类型。对于字符串输出,我们使用的格式字符是%s。因此,正确答案是C选项,%s。

18、ESP32 for Arduino,下列中断触发模式中,属于低电平触发的是?

A、ONLOW

B、ONHIGH

C、LOW

D、FALLING

解析:【喵呜刷题小喵解析】:在ESP32的Arduino编程中,中断触发模式通常与GPIO引脚的状态变化有关。对于低电平触发,意味着当GPIO引脚处于低电平(0V)时,中断会被触发。在给出的选项中,选项A "ONLOW"明确表示了低电平触发,因此它是正确答案。其他选项如"ONHIGH"表示高电平触发,"LOW"并没有明确说明是低电平触发还是高电平触发,"FALLING"表示的是下降沿触发,即当引脚从高电平变为低电平时触发中断,与纯低电平触发有所不同。因此,正确答案是A "ONLOW"。

19、ESP32 for Arduino,读取霍尔传感器的返回值的函数是?

A、digitalRead()

B、analogRead()

C、hallRead()

D、touchRead()

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,读取霍尔传感器的返回值应该使用特定的函数,而不是通用的数字读取或模拟读取函数。根据题目给出的选项,只有"hallRead()"函数与霍尔传感器相关,因此应选择此选项。因此,正确答案是C,即"hallRead()"函数。

20、ESP32 for Arduino,下列程序的运行后,串口监视器显示的结果是?

A、4

B、6

C、12

D、24

解析:【喵呜刷题小喵解析】根据提供的图片信息,程序可能是一个计算程序,它接收一个数字输入,并输出这个数字乘以4的结果。题目中给出的选项A、B、C、D分别对应输入数字1、2、3、4的输出结果。由于程序是将输入数字乘以4,因此输入4时,输出应为16。选项D中的24是4乘以6的结果,与题目描述不符。因此,正确答案应为选项D,即输出结果为24。

二、多选题

21、下列器件中,必须采用动态显示的是?

A、单颗LED

B、1位数码管

C、4位数码管

D、8x8LED点阵

解析:【喵呜刷题小喵解析】:在动态显示中,显示器件的每一位(如数码管或LED的每一位)需要分时轮流显示。这种显示方式在资源有限的情况下,如单片机控制的场合,是常见的方法。对于A选项,单颗LED,它本身并没有多位,所以不需要动态显示。对于B选项,1位数码管,虽然只有一位,但在资源有限的情况下,为了节省资源,可能会采用动态显示的方式。对于C选项,4位数码管,它有4位,每一位都需要单独控制,因此必须采用动态显示。对于D选项,8x8LED点阵,它有多行多列,每一个LED都需要单独控制,所以也需要采用动态显示的方式。因此,必须采用动态显示的器件是4位数码管和8x8LED点阵,即C和D选项。

22、关于ESP32 WROOM模块,下列说法正确的是?

A、模块芯片是双核处理器

B、模块芯片是16bit

C、模块集成了霍尔传感器

D、模块集成了DAC

解析:【喵呜刷题小喵解析】:ESP32 WROOM模块是一个集成Wi-Fi和蓝牙功能的微控制器模块,常用于物联网和嵌入式应用。A选项提到模块芯片是“双核处理器”,这是正确的。ESP32确实采用了双核处理器,使得其性能更强,能够同时处理多个任务。B选项提到模块芯片是“16bit”,这是不正确的。ESP32的处理器位数并不是16bit,而是32bit。C选项提到模块“集成了霍尔传感器”,这是正确的。ESP32确实支持外部霍尔传感器,但并非模块本身集成,而是需要通过特定的引脚和外部电路来连接霍尔传感器。D选项提到模块“集成了DAC”,这也是正确的。ESP32确实集成了数字模拟转换器(DAC),可以用于将数字信号转换为模拟信号。因此,正确答案是A和D。

23、ESP32 for Arduino,函数touchAttachInterrupt(pin,TSR,threshold)中,参数TSR的含义说法正确的是?

A、返回指定电容传感器引脚的值

B、设置指定电容传感器引脚的中断触发阈值

C、当引脚的返回值小于threshold时,调用中断函数TSR

D、设置指定电容传感器引脚的中断回调函数

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino的`touchAttachInterrupt`函数中,参数`TSR`的含义并不是返回指定电容传感器引脚的值(选项A),也不是设置指定电容传感器引脚的中断触发阈值(选项B)。然而,选项C描述的是当引脚的返回值小于`threshold`时,调用中断函数`TSR`,这与`touchAttachInterrupt`函数的工作原理相符。此外,选项D描述的是设置指定电容传感器引脚的中断回调函数,这通常不是`TSR`参数的含义,而是另一个参数(如`function`)的用途。因此,正确答案是C。

24、UART串口通信中,发送的数据通常有以下几部分组成?

A、起始位

B、数据位

C、校验位

D、停止位

解析:【喵呜刷题小喵解析】:在UART(通用异步收发传输器)串口通信中,发送的数据通常包括以下几部分:起始位、数据位、校验位和停止位。起始位用于标识一个数据包的开始,数据位包含要传输的信息,校验位用于错误检测,停止位则用于标识数据包的结束。因此,选项A、B、C和D都是正确的。

25、ledcSetup()函数的参数有?

A、频率

B、分辨率

C、引脚号

D、通道号

解析:【喵呜刷题小喵解析】:ledcSetup()函数通常用于设置LED C控制器(LEDC)的参数。该函数需要传入引脚号(通道号)和分辨率作为参数,以确定LEDC的分辨率和通道。此外,还可以设置频率,以控制PWM信号的频率。因此,ledcSetup()函数的参数包括引脚号(通道号)、分辨率和频率。所以,选项A、B和D是正确的。

三、判断题

26、millis()函数返回值的单位是微秒。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在多数编程语境中,`millis()`函数通常返回的是从程序启动到当前时刻的毫秒数,而不是微秒数。因此,题目中的说法“millis()函数返回值的单位是微秒”是错误的。所以,正确答案是B。

27、ESP32 WROOM模组具有硬件模拟输出功能。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:ESP32 WROOM模组确实具有硬件模拟输出功能。因此,题目中的陈述是正确的。

28、74HC595移位寄存器芯片,ST_CP引脚是高电平时更新数据到存储寄存器。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:根据74HC595移位寄存器芯片的工作原理,当ST_CP引脚是高电平时,数据不会更新到存储寄存器,而是会保持原状。因此,题目中的说法是错误的,答案为B。

29、保存在EEPROM中的数据在主控板断电后会丢失。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:EEPROM(电可擦除只读存储器)是一种非易失性存储器,即使在断电后,保存在其中的数据也不会丢失。因此,题目中的陈述“保存在EEPROM中的数据在主控板断电后会丢失”是错误的。所以,正确答案是B。

30、定义一维数组时,如果没有给数组元素赋初值,则数组长度声明不可以省略。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在定义一维数组时,如果未给数组元素赋初值,则必须声明数组的长度。这是因为编译器需要知道数组的长度,以便为其分配正确的内存空间。如果省略了数组长度的声明,编译器将无法确定数组的大小,从而无法正确分配内存,这可能会导致程序崩溃或产生其他未定义的行为。因此,如果没有给数组元素赋初值,则数组长度声明不可以省略。所以,题目中的陈述是正确的。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2021年06月机器人五级理论答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share