image

编辑人: 人逝花落空

calendar2025-08-07

message7

visits796

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

一、单选题

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

A、Hello

B、HelloW

C、World!

D、orld!

解析:【喵呜刷题小喵解析】:题目中的程序看起来像是用于控制串口通信的程序。在串口通信中,每个命令或消息通常由特定的标识符(如“/nA”、“/nB”等)开始,后跟相应的数据或消息内容。从题目中给出的信息来看,各个命令和数据分别为:* “/nA” 后跟 “Hello”* “/nB” 后跟 “HelloW”(注意这里的“HelloW”可能是一个拼写错误,可能原意是“Hello World”,即“/nB Hello World”)* “/nC” 后跟 “World!”* “/nD” 后跟 “orld!”(这里“orld!”显然是一个拼写错误,可能原意是“World!”,即“/nD World!”)根据这些信息,我们可以推测,当程序运行时,串口监视器将按照这些命令的顺序显示相应的消息。因此,正确的显示顺序应该是:1. “Hello”2. “Hello World”(假设“HelloW”是“Hello World”的拼写错误)3. “World!”由于题目中给出的选项中只有A选项与上述推测的显示顺序相符,因此答案是A。

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

A、2

B、8

C、16

D、34

解析:【喵呜刷题小喵解析】:ESP32主控板采用LEDC进行模拟输出时,最多可实现模拟输出的通道数是16。因此,正确答案为C。

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

A、0x09

B、0x90

C、0xF6

D、0x6F

解析:【喵呜刷题小喵解析】:根据题目中的描述,共阴数码管和74HC595芯片连接后,数码管显示的图形如图中红色所示。根据74HC595芯片的工作原理,它接收四个字节的数据,分别对应四个数码管的段选和位选。题目中给出了四个数值,分别对应四个数码管的段选。根据共阴数码管的显示原理,段选的高电平有效,即数值的二进制表示中,1代表高电平,0代表低电平。根据这个原理,可以判断出,0x09表示第一个数码管显示0,0x90表示第二个数码管显示9,0xF0表示第三个数码管显示F,0x6F表示第四个数码管显示6。因此,根据数码管的显示结果,可以推断出shiftout程序行内的数值为0xF0。所以正确答案是C选项。

4、ESP32 for Arduino中,程序Serial.printf()中表示换行的转义字符是?

A、\n

B、\t

C、\r

D、\\

解析:【喵呜刷题小喵解析】:在C和C++编程中,`\n` 是一个特殊的字符序列,被称为转义字符,它代表一个新行(newline)。在 `Serial.printf()` 函数中,`\n` 将被解释为一个新行字符,这会在串行通信中发送一个换行,从而在接收端产生一个新行。因此,在ESP32 for Arduino中,程序 `Serial.printf()` 中表示换行的转义字符是 `\n`。选项A是正确的。

5、正常情况下,ESP32主控板引脚输出高电平时,引脚的电压为?

A、2.3V

B、3.3V

C、3.5V

D、5V

解析:【喵呜刷题小喵解析】:ESP32主控板引脚输出高电平时,引脚的电压通常为3.3V。这是ESP32主控板的一个常见特性,与题目中的选项B相符。因此,正确答案是B。

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

A、0

B、2

C、4

D、5

解析:【喵呜刷题小喵解析】从图片中可以看到,这是一个使用C语言编写的程序,该程序定义了四个变量A、B、C、D,并分别赋值为0、2、4、5。在串口监视器中,程序会按照变量定义的顺序依次输出这些变量的值。因此,运行后串口监视器显示的结果应该是A 0、B 2、C 4。选项C中的"A 0、B 2、C 4"与预期结果相符,故正确答案为C。

7、表达式0x5B|0xB5的结果是?

A、0x11

B、0xFF

C、0x5B

D、0xB5

解析:【喵呜刷题小喵解析】:根据位或运算规则,对于十六进制数0x5B和0xB5,进行位或运算的结果是0xFF。因此,选项B是正确的。

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

A、ONLOW

B、ONHIGH

C、RISING

D、FALLING

解析:【喵呜刷题小喵解析】:根据电路图,当按键保持按下状态时,对应的电平状态应该是低电平(ONLOW)。因此,触发中断的模式应该是对应低电平的中断触发模式,即选项A中的"ONLOW"。其他选项如"ONHIGH"、"RISING"和"FALLING"都不符合按键保持按下状态时的电平状态。

9、表达式0xFF&0xAA的结果是?

A、0xFF

B、0xAA

C、0xFA

D、0xAF

解析:【喵呜刷题小喵解析】:在二进制中,0xFF表示为11111111,0xAA表示为10101010。进行按位与(&)运算时,只有在两个相应的二进制位都为1时,结果在该位上才为1。0xFF和0xAA的按位与运算结果为0xAA。因此,表达式0xFF&0xAA的结果是0xAA。

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

A、RX

B、TX

C、GND

D、Vcc

解析:【喵呜刷题小喵解析】:在UART(通用异步接收/发送器)通信中,一个器件的TX(发送)引脚连接到另一个器件的RX(接收)引脚,以实现数据的发送和接收。因此,选项A“RX”是正确的答案。

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

A、0

B、255

C、1023

D、4095

解析:【喵呜刷题小喵解析】:在ESP32程序中,模拟输入取样分辨率设置语句为analogSetWidth(10),这表示ADC(模数转换器)的位数为10位。在10位ADC中,输入电压范围通常为0到3.3V或0到1.8V(取决于硬件和编程设置),每个位的分辨率是3.3V/1024或1.8V/1024。因此,函数analogRead()返回的最小值是0。选项B、C和D都与10位ADC的分辨率不匹配。

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

A、按键按下时LED灯点亮

B、按键按下时LED灯熄灭

C、按键按下时LED灯闪烁

D、按键按下时LED灯亮灭状态不确定

解析:【喵呜刷题小喵解析】:根据电路图,当按键按下时,按键的一端会连接到地,另一端通过电阻连接到ESP32的某个引脚。由于按键按下时,引脚电平会变为低电平,因此可以判断ESP32的引脚输入为低电平。根据程序逻辑,当引脚输入为低电平时,LED灯会点亮。因此,当按键按下时,LED灯会点亮,选项A正确。

13、下列程序输出的结果是?

A

B

C

D、其余选项都不对

解析:【喵呜刷题小喵解析】观察提供的图片,我们可以发现,图片中展示的是一段Python代码。这段代码定义了一个函数`f(n)`,当`n`为偶数时,返回`n/2`,当`n`为奇数时,返回`3*n+1`。这是著名的“Collatz猜想”(又称3n+1猜想)的一种表达方式。根据题目,我们需要找出当输入不同的整数时,函数`f(n)`输出的结果。对于选项A,当输入4时,函数返回2,再输入2,返回1,再输入1,返回4,陷入循环,所以选项A是错误的。对于选项B,当输入3时,函数返回10,再输入10,返回5,再输入5,返回16,再输入16,返回8,再输入8,返回4,再输入4,返回2,再输入2,返回1,陷入循环,所以选项B是错误的。对于选项C,当输入6时,函数返回3,再输入3,返回10,再输入10,返回5,再输入5,返回16,再输入16,返回8,再输入8,返回4,再输入4,返回2,再输入2,返回1,没有陷入循环,所以选项C是正确的。对于选项D,题目没有给出具体的输入和输出,所以我们无法判断其正确性。综上所述,根据题目的描述和我们的分析,选项C是正确的。

14、ESP32 for Arduino采用LEDC方式进行模拟输出时,函数ledcDetachPin()的作用是?

A、设置LEDC的通道参数

B、将指定通道上的PWM信号输出到GPIO引脚

C、终止指定引脚的PWM信号输出

D、向指定通道输出PWM信号

解析:【喵呜刷题小喵解析】ledcDetachPin()函数在ESP32 for Arduino中用于终止指定引脚的PWM信号输出。因此,正确选项是C。其他选项A、B、D都与该函数的实际功能不符。A选项“设置LEDC的通道参数”与ledcDetachPin()的功能不符,因为该函数并不涉及设置通道参数。B选项“将指定通道上的PWM信号输出到GPIO引脚”也不正确,因为该函数的作用是停止PWM信号输出,而不是开始输出。D选项“向指定通道输出PWM信号”同样不正确,因为该函数的作用是停止输出,而不是开始输出。

15、ESP32 for Arduino,触摸传感器函数touchRead()返回值的范围是?

A、0~255

B、0~1023

C、0~4095

D、可通过参数设置范围值

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,触摸传感器函数`touchRead()`返回值的范围通常是0~255。这是根据Arduino库的标准和ESP32的硬件特性来确定的。因此,正确答案是A选项。其他选项如B、C、D都是错误的,因为题目中并没有提到可以通过参数设置范围值。

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

A、INPUT

B、OUTPUT

C、INPUT_PULLUP

D、INPUT_PULLDOWN

解析:【喵呜刷题小喵解析】:在ESP32主控板中,当需要将数字引脚设置为内部上拉输入模式时,对应的参数是“INPUT_PULLUP”。这是因为“INPUT_PULLUP”表示引脚被配置为输入模式,并且内部上拉电阻被启用。选项A的“INPUT”只是表示引脚被配置为输入模式,但没有指定是否启用内部上拉电阻。选项B的“OUTPUT”表示引脚被配置为输出模式。选项D的“INPUT_PULLDOWN”表示引脚被配置为输入模式,并且内部下拉电阻被启用。因此,正确答案是C,“INPUT_PULLUP”。

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

A、48 9 48

B、48 9 0

C、48 0

D、0 0

解析:【喵呜刷题小喵解析】:从提供的图片中,我们可以看到四个指令/nA、/nB、/nC和/nD。其中,/nA、/nB和/nC都带有三个参数,而/nD带有两个参数。这些指令可能用于控制某种设备或系统,但由于没有更多的上下文信息,我们无法确切知道它们的具体作用。然而,根据题目中给出的选项,我们可以推测这些指令可能是用于设置或配置某种参数。* /nA 48 9 48:这三个参数可能是用于设置某种参数或配置,具体取决于设备或系统的功能。* /nB 48 9 0:同样,这三个参数也是用于设置或配置。* /nC 48 0:只有两个参数,可能与/nA、/nB不同。* /nD 0 0:只有两个参数,可能与之前的指令不同。由于题目没有给出更多的信息,我们无法确定这些指令的确切作用。然而,从给出的选项来看,它们可能是用于设置或配置不同的参数或模式。由于/nD只有两个参数,而其他指令都有三个参数,因此选项D“0 0”可能是最符合的答案。但这仅仅是一个基于有限信息的推测,具体的答案还需要更多的上下文信息来确定。

18、UART发送数据的先后顺序,下列说法正确的是?

A、起始位、校验位、数据位、停止位

B、起始位、数据位、校验位、停止位

C、起始位、数据位、停止位、校验位

D、起始位、停止位、数据位、校验位

解析:【喵呜刷题小喵解析】UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。在UART通信中,数据的发送顺序通常是:起始位、数据位、校验位、停止位。因此,选项B“起始位、数据位、校验位、停止位”是正确的。选项A、C和D的顺序都与UART的标准发送顺序不符。

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

A、ONLOW

B、ONHIGH

C、RISING

D、HIGH

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,中断触发模式通常包括低电平触发、高电平触发、上升沿触发等。在给出的选项中,/nA ONLOW 表示低电平触发,/nB ONHIGH 表示高电平触发,/nC RISING 表示上升沿触发,而 /nD HIGH 并不是一个标准的触发模式。因此,正确答案是 /nB ONHIGH,表示高电平触发。

二、多选题

20、有关millis()函数下列说法正确的是?

A、millis()函数返回当前程序自开始运行至当前的时间

B、millis()函数返回的时间单位为微秒

C、系统长时间运行时,要预防保存millis()函数返回值的变量可能会发生数据溢出

D、在程序运行时,可将millis()函数的返回值归0,以防止数据溢出

解析:【喵呜刷题小喵解析】:millis()函数是Arduino编程语言中的一个函数,用于返回程序自启动以来经过的毫秒数。A选项说“millis()函数返回当前程序自开始运行至当前的时间”,这是正确的,millis()函数返回的就是从程序启动到当前时刻的毫秒数。B选项说“millis()函数返回的时间单位为微秒”,这是错误的。millis()函数返回的是毫秒数,而不是微秒。C选项说“系统长时间运行时,要预防保存millis()函数返回值的变量可能会发生数据溢出”,这是正确的。因为millis()函数返回的是一个无符号长整型数,当程序运行时间过长时,这个数值可能会超过无符号长整型的最大值,导致数据溢出。D选项说“在程序运行时,可将millis()函数的返回值归0,以防止数据溢出”,这是错误的。millis()函数返回的是从程序启动到当前时刻的毫秒数,将其归0并不能防止数据溢出,反而可能导致错误的逻辑处理。

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

A、a/4

B、a>>2

C、a

D、a>>4

解析:【喵呜刷题小喵解析】在程序中,表示变量a除以4的表达式通常使用除法运算符"/"。选项A中的"a/4"就是表示变量a除以4的表达式。另外,在计算机编程中,右移运算符">>"常用于二进制位操作,将数值的二进制表示向右移动指定的位数,相当于除以2的指定次方。选项B中的"a>>2"表示将变量a的二进制表示右移2位,等同于a除以2的2次方,也就是a除以4。因此,选项A和选项B都是用于在程序中表示变量a除以4的表达式。选项C中的"a"只是表示变量a本身,并没有进行除法操作。选项D中的"a>>4"表示将变量a的二进制表示右移4位,等同于a除以2的4次方,也就是a除以16,并不是表示a除以4的表达式。因此,正确答案是A和B。

22、ESP32 for Arduino ,读取按键开关的返回值,当不采用外部电阻上拉或下拉时,程序中[ ]的值可以为?

A、INPUT

B、OUTPUT

C、INPUT_PULLUP

D、INPUT_PULLDOWN

解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,读取按键开关的返回值时,当不采用外部电阻上拉或下拉时,程序中可以使用的值为:* C选项:INPUT_PULLUP:这是上拉输入模式,如果没有外部电阻下拉,按键未按下时,引脚会被内部上拉电阻拉高,按键按下时,引脚会被接地,从而读取到低电平。* D选项:INPUT_PULLDOWN:这是下拉输入模式,如果没有外部电阻上拉,按键未按下时,引脚会被内部下拉电阻拉低,按键按下时,引脚会被外部电阻或人体电阻拉高,从而读取到高电平。因此,选项C和D都是合适的答案。其他选项,如nA的INPUT和nB的OUTPUT,在此上下文中并不适用,因为它们不是与按键开关读取相关的模式。

23、关于ESP32 WROOM模块外设中,Arduino UNO/Nano主控板所不具备的是?

A、霍尔传感器

B、蓝牙

C、ADC

D、DAC

解析:【喵呜刷题小喵解析】:ESP32 WROOM模块是ESP32系列的一个版本,它是一款功能强大的系统级芯片(SoC),集成了Wi-Fi和蓝牙功能。Arduino UNO/Nano则是基于Atmega微控制器的开发板。A. 霍尔传感器:Arduino UNO/Nano本身并不具备霍尔传感器,但可以通过外部扩展模块或传感器来连接。而ESP32 WROOM模块可能内置了霍尔传感器,或者提供了相应的接口来连接外部霍尔传感器。B. 蓝牙:ESP32 WROOM模块集成了蓝牙功能,而Arduino UNO/Nano不具备蓝牙功能。C. ADC:Arduino UNO/Nano具有模数转换器(ADC),可以用来读取模拟信号。ESP32 WROOM模块同样具有ADC功能。D. DAC:Arduino UNO/Nano具有数模转换器(DAC),可以用来输出模拟信号。ESP32 WROOM模块同样具有DAC功能。综上所述,ESP32 WROOM模块外设中,Arduino UNO/Nano主控板所不具备的是霍尔传感器和蓝牙。因此,正确答案为A和B。D选项(DAC)是Arduino UNO/Nano和ESP32 WROOM模块都具备的功能。

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

A、bitClear()

B、bitSet()

C、bitWrite()

D、bitRead()

解析:【喵呜刷题小喵解析】:在提供的选项中,用于将数据指定位设置为1的函数有:A. bitClear() - 这个函数通常用于清除指定位,将其设置为0,而不是设置为1。B. bitSet() - 这个函数通常用于设置指定位为1,与题目要求相符。C. bitWrite() - 这个函数也可以用于设置指定位,通常可以将指定的值写入到特定的位,如果指定的值是1,那么就可以将位设置为1,与题目要求相符。D. bitRead() - 这个函数通常用于读取指定位的值,而不是设置位。因此,选项B和C都符合题目要求,即将数据指定位设置为1。

三、判断题

25、74HC595移位寄存器芯片,SH_CP引脚是低电平是传送数据到移位寄存器。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:根据题目描述,SH_CP引脚是低电平是传送数据到移位寄存器。然而,题目中的描述存在错误,应该是SH_CP引脚在高电平期间传送数据到移位寄存器,而在低电平期间数据被锁存到输出寄存器。因此,题目中的描述是错误的,答案为B。

26、定义二维数组时,如果给数组元素赋初值,则第一维和第二维的长度声明可省略。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在定义二维数组时,即使给数组元素赋初值,第一维和第二维的长度声明也不能省略。在C或C++等语言中,二维数组的定义需要明确指定每一维的大小。例如,`int arr[3][4];`定义了一个3行4列的二维数组。如果只给出部分初始值,如`int arr[3][4] = {{1,2,3},{4,5}};`,那么未赋值的元素会被自动初始化为0,但数组的大小(即3行4列)不能改变。因此,选项A“正确”是错误的,正确答案是B“错误”。

27、UART发送数据时,起始位为高电平。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在UART(通用异步接收/发送器)通信协议中,起始位通常是一个低电平信号,用于标识数据包的开始。因此,题目中的说法“UART发送数据时,起始位为高电平”是错误的。所以,正确答案是B。

28、主控板断电后,EEPROM中存储的数据会丢失。

A 正确

B 错误

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

29、UART发送数据时,必须有校验位。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)是一种串行通信协议,它允许微控制器与各种设备以串行方式通信。在UART通信中,数据是以字节为单位发送的,每个字节包括起始位、数据位、奇偶校验位(如果有的话)和停止位。然而,并不是所有的UART通信都需要奇偶校验位。校验位主要用于检测数据传输过程中可能出现的错误。如果数据不重要或者通信环境非常稳定,那么可能不需要校验位。因此,说UART发送数据时必须有校验位是不准确的,所以答案是B,即错误。

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

创作类型:
原创

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

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