image

编辑人: 青衫烟雨

calendar2025-06-06

message4

visits901

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

一、单选题

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

A、255

B、511

C、1023

D、4095

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino程序中,模拟输入取样分辨率设置语句为analogSetWidth(10),这表示模拟输入宽度为10位。在10位模拟输入下,模拟输入的最大值是2^10-1,即1023。因此,函数analogRead()返回的最大值是1023,选项C是正确的。

2、ESP32 for Arduino中,程序Serial.printf()中表示十进制整数和浮点数输出的格式字符是?

A、%o %d

B、%d %f

C、%x %f

D、%f %d

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,程序Serial.printf()用于格式化输出。要表示十进制整数和浮点数的输出,应该使用"%d"和"%f"作为格式字符。选项A中的"%o"用于表示八进制整数,选项C中的"%x"用于表示十六进制整数,选项D中的顺序是错误的。因此,正确答案是B,即"%d %f"。

3、下列外设中,ESP32 WROOM模块和Arduino UNO/Nano主控板均具有的是?

A、霍尔传感器

B、蓝牙

C、ADC

D、DAC

解析:【喵呜刷题小喵解析】:ESP32 WROOM模块和Arduino UNO/Nano主控板都是常用的微控制器开发板。在比较它们的外设时,我们需要找出两者都具备的功能。霍尔传感器是一种磁感应传感器,不是所有微控制器都具备的功能,因此可以排除选项A。蓝牙模块通常用于无线通信,不是所有微控制器都内置的功能,因此可以排除选项B。DAC(数模转换器)是将数字信号转换为模拟信号的装置,不是所有微控制器都具备的功能,因此可以排除选项D。而ADC(模数转换器)是将模拟信号转换为数字信号的装置,是许多微控制器都具备的功能。因此,选项C“ADC”是ESP32 WROOM模块和Arduino UNO/Nano主控板都具备的功能。

4、下列函数中,用于判断串口接收缓冲区是否有数据的函数是?

A、begin()

B、readBytes()

C、available()

D、read()

解析:【喵呜刷题小喵解析】:在Arduino编程中,`available()`函数用于判断串口接收缓冲区是否有数据。`begin()`函数用于初始化串口通信,`readBytes()`函数用于从串口读取指定数量的字节,`read()`函数用于从串口读取一个字节。因此,正确答案是C选项。

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

A、sizeof(array)

B、sizeof(array[])

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

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

解析:【喵呜刷题小喵解析】在C语言中,数组的第一维长度可以通过整个数组的大小除以单个元素的大小来得到。对于二维数组int array[][2],array代表整个数组,array[0]代表数组的第一行,array[0][0]代表数组的第一个元素。A选项sizeof(array)返回的是整个数组的大小,但是这不包括数组的第一维长度。B选项sizeof(array[])是错误的,因为数组名在表达式中会被自动转换为指向数组第一个元素的指针,所以sizeof(array[])实际上得到的是指向数组第一个元素的指针的大小,而不是数组的大小。C选项sizeof(array)/sizeof(array[0][0])也是错误的,因为sizeof(array[0][0])只返回数组中一个元素的大小,而不是一行的大小。D选项sizeof(array)/sizeof(array[0])是正确的,因为sizeof(array)返回的是整个数组的大小,而sizeof(array[0])返回的是数组第一行的大小,也就是数组第一维的长度。所以sizeof(array)/sizeof(array[0])得到的就是数组第一维的长度。

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

A、ONLOW

B、ONHIGH

C、RISING

D、FALLING

解析:【喵呜刷题小喵解析】根据电路图,当按键按下时,触发的中断模式应该是上升沿触发,即nC RISING。因此,正确答案为C。

7、ESP32 for Arduino,电路如图所示,运行下列程序后,当按键按下时,下列说法正确的是?

A、LED灯点亮

B、LED灯熄灭

C、LED灯闪烁

D、LED灯亮灭状态不确定

解析:【喵呜刷题小喵解析】根据电路图,当按键按下时,ESP32的某个引脚(可能是GPIO)会被拉低。由于程序没有给出,我们只能通过电路图来推测。电路图中,按键按下时,一个电阻和一个电容串联,然后通过一个二极管连接到ESP32的某个GPIO。由于有电容的存在,按键的按下和释放可能会导致GPIO的电平在短时间内发生变化,这可能会触发ESP32的某个中断或者事件。在这个情境下,最合理的解释是,按键的按下触发了一个事件,导致连接到LED的GPIO的电平发生变化,从而使LED灯点亮。因此,当按键按下时,LED灯点亮,选项A是正确的。对于选项B、C和D,由于没有给出具体的程序,我们不能确定按键的按下会导致LED灯熄灭、闪烁或者状态不确定。因此,这些选项都可能是错误的。

8、UART通信,起始位和停止位的电平分别是?

A、高电平和低电平

B、低电平和高电平

C、均为低电平

D、均为高电平

解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)通信是一种串行通信协议,用于异步通信。在UART通信中,起始位和停止位的电平分别是低电平和高电平。起始位用于标识一个字节的开始,通常是一个持续的低电平信号;而停止位用于标识一个字节的结束,通常是一个持续的高电平信号。因此,正确答案是B,即起始位为低电平,停止位为高电平。

9、millis()函数所返回时间段的计时起点是?

A、自控制板通电时开始

B、自程序编写时开始

C、自当前程序开始运行时开始

D、自控制板重启时开始

解析:【喵呜刷题小喵解析】millis()函数返回的是从Arduino板启动后经过的毫秒数。因此,它的计时起点是“自当前程序开始运行时开始”。所以,正确答案是C。

10、74HC595移位寄存器芯片的下列引脚中,用于串行数据输入的引脚是?

A、SH_CP

B、ST_CP

C、Ds

D、Q0

解析:【喵呜刷题小喵解析】在74HC595移位寄存器芯片中,用于串行数据输入的引脚是Ds/nD,对应选项C。而/nA SH_CP是串行时钟输入,/nB ST_CP是存储时钟输入,Q0是输出引脚,均不是用于串行数据输入的引脚。因此,正确答案是C。

11、ESP32主控板,设置数字引脚为输出模式时,对应的参数是?

A、INPUT

B、OUTPUT

C、INPUT_PULLUP

D、INPUT_PULLDOWN

解析:【喵呜刷题小喵解析】:在ESP32主控板中,设置数字引脚为输出模式时,对应的参数是OUTPUT。因此,正确答案是B。其他选项如INPUT、INPUT_PULLUP和INPUT_PULLDOWN都是输入模式的参数,不适用于输出模式。

12、ESP32 for Arduino程序中,采用LEDC方式进行模拟输出时,函数ledcSetup(channel,freq,bit_num)的参数中,freq的含义是?

A、通道编号

B、PWM的频率

C、分辨率

D、PWM值

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino程序中,采用LEDC方式进行模拟输出时,函数ledcSetup(channel,freq,bit_num)的参数中,freq的含义是PWM的频率。因此,正确答案是B。

13、一般情况下,Arduino UNO/NANO主控板和ESP32 WROOM模块的工作电压分别是?

A、3.5V,3.3V

B、5V,5V

C、5V,3.3V

D、5V,3.0V

解析:【喵呜刷题小喵解析】:Arduino UNO/NANO主控板的工作电压一般是5V,而ESP32 WROOM模块的工作电压一般是3.3V。因此,正确答案是C,即5V,3.3V。

14、表达式0x3F&0xF3的结果是?

A、0x33

B、0xFF

C、0x3F

D、0xF3

解析:【喵呜刷题小喵解析】:根据位运算的规则,与运算(&)会对两个数的每一位进行比较,只有当两个数对应位都为1时,结果对应位才为1。0x3F的二进制表示为:001111110xF的二进制表示为:1111所以,0x3F & 0xF的结果为:0011(即0x3)因此,答案是0x3,选项A正确。

15、ESP32 for Arduino,下列中断触发模式中,属于上升沿触发的是?

A、HIGH

B、ONHIGH

C、RISING

D、FALLING

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,中断触发模式有多种选项。在提供的选项中,A HIGH 表示高电平触发,B ONHIGH 表示当引脚从低电平变为高电平时触发一次,之后不再触发,C RISING 表示上升沿触发,即当引脚从低电平变为高电平时触发一次,D FALLING 表示下降沿触发,即当引脚从高电平变为低电平时触发一次。因此,选项C RISING表示上升沿触发,符合题意。

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

A、0xF2

B、0xD

C、0xB0

D、0x4F

解析:【喵呜刷题小喵解析】:根据题目描述,共阳数码管和74HC595芯片连接后,数码管显示的图形如图中红色所示。在给出的选项中,我们需要找到与这个显示结果对应的shiftout程序行中的数值。观察数码管的显示,我们可以看到数码管显示的是数字"2"。在共阳数码管中,数字"2"对应的段码是0xB0(其中,A、B、C、D、E、F段点亮,G段熄灭)。因此,第6行shiftout程序行中的数值应该是0xB0。对比给出的选项,只有选项B是0xB0,所以正确答案是B。

17、两个器件通过UART进行数据传送时,一个器件的RX引脚连接到另一个器件的?

A、RX

B、TX

C、GND

D、Vcc

解析:【喵呜刷题小喵解析】:UART,全称为Universal Asynchronous Receiver-Transmitter,即通用异步收发器。它是一种用于异步串行通信的协议。在UART通信中,两个设备通过两根线进行通信:一根用于发送(TX,Transmit),一根用于接收(RX,Receive)。因此,当一个器件的TX引脚发送数据时,另一个器件的RX引脚会接收这些数据。所以,一个器件的RX引脚应该连接到另一个器件的TX引脚。因此,正确答案是B,即“nB TX”。

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

A、1

B、2

C、6

D、12

解析:【喵呜刷题小喵解析】观察给出的图片,其中包含了四行代码。第一行显示A的值为1,第二行显示B的值为2,第三行显示C的值为6,第四行显示D的值为12。题目询问的是串口监视器显示的结果,由于题目中并没有给出具体的代码或程序,我们只能根据给出的信息来推测。从给出的信息来看,似乎是在描述某种变量或参数的值,而不是一个完整的程序。然而,根据题目中的选项,我们可以推测这可能是一个选择题的题干部分,而选项则是关于这些变量或参数的计算或关系。选项A:1+2=3,这个选项不正确,因为A和B的值相加并不等于3。选项B:2*3=6,这个选项也不正确,因为B和C的值相乘并不等于6。选项C:A*C=6,这个选项是正确的,因为A的值1乘以C的值6确实等于6。选项D:A+B+C+D=21,这个选项不正确,因为A、B、C和D的值相加并不等于21。因此,根据给出的信息和选项,我们可以推断出正确答案是C:A*C=6。

19、定义从字符串对象String a = "123+456";从a中获取整数456,下列表达式正确的是?

A、a.substring(4).toInt()

B、a.substring(5).toInt()

C、a.substring(4)

D、a.substring(5)

解析:【喵呜刷题小喵解析】题目要求从字符串对象"123+456"中获取整数456。首先,我们需要确定整数456在字符串中的位置。观察字符串"123+456",我们可以看到整数456从第5个字符开始,到第8个字符结束。因此,我们需要从索引4开始截取子字符串,因为字符串的索引是从0开始的。选项A的表达式"a.substring(4).toInt()"正是从索引4开始截取子字符串,并尝试将其转换为整数。这个表达式是符合题目要求的。选项B的表达式"a.substring(5).toInt()"是从索引5开始截取子字符串,这会导致截取到的子字符串只有"456",而不是"123+456"中的"456"。选项C的表达式"a.substring(4)"只是从索引4开始截取子字符串,并没有将其转换为整数,因此不符合题目要求。选项D的表达式"a.substring(5)"是从索引5开始截取子字符串,同样不符合题目要求。因此,正确答案是选项A。

20、ESP32 for Arduino,touchRead()函数的功能是?

A、检测当前的磁场强度

B、返回指定电容传感器引脚的中断阈值

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

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

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,`touchRead()`函数的功能是返回指定引脚电容传感器的值。这个函数通常用于读取电容式触摸传感器或接近传感器的状态,以确定是否有物体接近或触摸传感器。因此,正确答案是C,即返回指定引脚电容传感器的值。

二、多选题

21、下列可以向串口发送数据的函数有?

A、Serial.print()

B、Serial.read()

C、Serial.write()

D、Serial.println()

解析:【喵呜刷题小喵解析】:根据Arduino编程语言的规范,以下是可以向串口发送数据的函数:A. Serial.print():这个函数用于向串口发送字符串或数字,但不会添加换行符。D. Serial.println():这个函数不仅发送字符串或数字,还会添加一个换行符。C. Serial.write():这个函数可以发送字节数组到串口,因此也可以用来发送数据。B. Serial.read():这个函数是用于从串口读取数据的,而不是发送数据。因此,正确答案是ACD。

22、下列选项中程序中,用于在程序中表示变量a乘以4的表达式有?

A、a*4

B、a>>2

C、a<<2

D、a>>4

解析:【喵呜刷题小喵解析】在程序中,用于表示变量a乘以4的表达式有:A. a*4:这是最直接的表达方式,表示变量a乘以4。B. a>>2:这是右移2位的操作,相当于a除以4。因为二进制数右移一位等于除以2,所以右移2位等于除以4的平方,即除以4。这不是乘以4的操作。C. a<<2:这是左移2位的操作,相当于a乘以4。因为二进制数左移一位等于乘以2,所以左移2位等于乘以2的2次方,即乘以4。D. a>>4:这是右移4位的操作,相当于a除以16。这不是乘以4的操作。因此,表示变量a乘以4的表达式有:a*4和a<<2。

23、ESP32主控板中,下列具有模拟输出功能的有?

A、LEDC

B、SigmaDelta

C、DAC

D、ADC

解析:【喵呜刷题小喵解析】:ESP32主控板中,具有模拟输出功能的有LEDC、SigmaDelta和DAC。LEDC(Low-Edge Driven Counter)通常用于PWM(脉宽调制)输出,可以产生模拟信号。SigmaDelta是一种数字模拟转换器,它可以将数字信号转换为模拟信号。DAC(数字模拟转换器)则是直接将数字信号转换为模拟信号。因此,选项A、B、C都是正确的。而ADC(模拟数字转换器)是用于将模拟信号转换为数字信号的,不具有模拟输出功能,所以选项D是错误的。

24、下列函数中,用于将数据指定位设置为0(复位)的函数有?

A、bitClear()

B、bitSet()

C、bitWrite()

D、bitRead()

解析:【喵呜刷题小喵解析】:在提供的选项中,用于将数据指定位设置为0(复位)的函数有:A. bitClear() - 这个函数通常用于清除(复位)指定位。它可以将指定的位设置为0。C. bitWrite() - 这个函数可以用于设置或清除指定的位。当使用此函数将位设置为0时,它实际上是在复位该位。B. bitSet() - 这个函数通常用于设置指定的位为1,而不是复位(设置为0)。D. bitRead() - 这个函数用于读取指定位的值,而不是设置或复位位。因此,正确答案是A和C。

25、ESP32所集成的蓝牙外设,包含?

A、经典蓝牙

B、低功耗蓝牙

C、WiFi

D、UART

解析:【喵呜刷题小喵解析】:ESP32是一款集成了多种功能的系统级芯片(System on Chip, SoC),它提供了包括Wi-Fi、蓝牙和UART在内的多种通信功能。根据ESP32的常见应用和蓝牙标准的发展,ESP32所集成的蓝牙外设包括经典蓝牙(Bluetooth Classic)和低功耗蓝牙(Bluetooth Low Energy,也称为BLE)。因此,选项A和B是正确的。选项C和D虽然也是ESP32的功能,但不是蓝牙外设,所以不应被选择。

三、判断题

26、ESP32 WROOM模组的MCU是单核处理器。

A 正确

B 错误

解析:【喵呜刷题小u解析】:ESP32 WROOM模组中的MCU(微控制器)通常指ESP32芯片,它是基于Tensilica Xtensa LX6架构的双核处理器,而不是单核处理器。因此,题目中的陈述“ESP32 WROOM模组的MCU是单核处理器”是错误的。

27、74HC595移位寄存器芯片,SH_CP引脚是上升沿传送数据。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:74HC595是一款常用的串行输入、并行输出的移位寄存器芯片。在其数据传送过程中,SH_CP(存储控制脉冲)引脚的作用是在上升沿触发数据的传送。当SH_CP从低电平变为高电平时,数据会从DS(串行数据输入)引脚输入到芯片内部,并经过一定的移位操作后,最终从Q0到QH(并行数据输出)的引脚并行输出。因此,题目中的说法“SH_CP引脚是上升沿传送数据”是正确的。

28、数组元素的下标从1开始。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在大多数编程语言中,数组元素的下标通常从0开始,而不是从1开始。这是因为在计算机编程中,索引通常从0开始是一种常见和标准的做法。因此,题目中的说法“数组元素的下标从1开始”是不正确的。

29、UART是同步串行通信。

A 正确

B 错误

解析:【喵呜刷题小u解析】:UART(通用异步接收/发送器)是一种异步串行通信协议,而不是同步串行通信。在异步串行通信中,数据的发送和接收是独立的,没有时钟信号来同步。UART使用起始位、数据位、奇偶校验位和停止位来传输数据,并且每个字符都是独立发送的。因此,UART不是同步串行通信,而是异步串行通信。所以,题目中的陈述是错误的。

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

A 正确

B 错误

解析:【喵呜刷题小喵解析】:EEPROM(电可擦除只读存储器)是一种非易失性存储器,即使电源断开,保存在其中的数据也不会丢失。因此,题目中的说法是正确的。

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

创作类型:
原创

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

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