一、单选题
1、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都是错误的,因为题目中并没有提到可以通过参数设置范围值。
2、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。
3、ESP32 for Arduino,下列函数中,用于返回指定电容传感器引脚返回值的函数是?( )
A、touchRead()
B、touchWrite()
C、touchAttachInterrupt()
D、hallRead()
解析:【喵呜刷题小喵解析】:题目询问的是用于返回指定电容传感器引脚返回值的函数。在给定的选项中,A选项"touchRead()"符合这一要求,因为"read"通常表示读取或返回某种值。而其他选项如"touchWrite()"可能用于写入或设置值,"touchAttachInterrupt()"可能用于附加中断,"hallRead()"可能与读取霍尔传感器有关,但它们都不直接返回电容传感器的引脚返回值。因此,正确答案是A选项"touchRead()"。
4、Serial类库成员函数中,Serial.available()的作用是?( )
A、返回UART发送缓冲区中的字节数
B、返回UART接受缓冲区中的字节数
C、从UART缓冲区中读取数据
D、向UART缓冲区中写入数据
解析:【喵呜刷题小喵解析】:Serial.available()函数用于返回UART(通常称为串行通信或串口通信)接收缓冲区中的字节数。因此,正确答案是B,即返回UART接受缓冲区中的字节数。A选项描述的是发送缓冲区,C选项是读取操作,D选项是写入操作,都与Serial.available()函数的功能不符。
5、UART进行数据传送时,用于数据接收的引脚是?
A、RX
B、TX
C、GND
D、Vcc
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。在这种协议中,数据通过一根发送线(TX)和一根接收线(RX)进行传输。因此,用于数据接收的引脚是RX。选项A中的"RX"是正确的答案。
6、UART 通信的起始位是?
A、高电平
B、低电平
C、上升沿
D、下降沿
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)通信的起始位是低电平。在UART通信中,数据位是以一串二进制位的形式传输的,每个数据位的时间长度相同。在数据位开始传输之前,会先发送一个起始位,通常为低电平,以告诉接收方数据传输即将开始。因此,正确答案是B,即低电平。
7、Serial.println(val,format)程序将val以十六进制输出到串口监视器,format应为( )
A、BIN
B、OCT
C、HEX
D、DEC
解析:【喵呜刷题小喵解析】在Arduino编程中,`Serial.println()`函数用于将数据发送到串行监视器。该函数有许多重载形式,允许您以不同的格式输出数据。参数`format`定义了输出数据的格式。`HEX`表示十六进制格式,这正好匹配题目中的要求。所以,要将`val`以十六进制输出到串口监视器,`format`应为`HEX`。选项A、B和D都不正确,因为它们不是`Serial.println()`函数中可用的格式参数。选项C(`OCT`)虽然与八进制相关,但不是正确的答案。因此,正确答案是C。
8、UART进行数据传送时,下列说法正确的是?
A、数据传送时,先发送数据的低位
B、数据传送时,先发送数据的高位
C、起始位为高电平
D、停止位为低电平
解析:【喵呜刷题小喵解析】UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。在UART进行数据传送时,数据的发送是从最低位(LSB)开始的,因此选项A“数据传送时,先发送数据的低位”是正确的。选项B“数据传送时,先发送数据的高位”是错误的。起始位通常是低电平,因此选项C“起始位为高电平”也是错误的。停止位通常是高电平,因此选项D“停止位为低电平”也是错误的。
9、ESP32 for Arduino,下列选项所列的数据类型,运算符sizeof()返回值为4的是?( )
A、boolean
B、char
C、int
D、long long
解析:【喵呜刷题小喵解析】在大多数现代计算机系统中,`int`类型通常占用4个字节(32位)。因此,使用`sizeof()`运算符来获取`int`类型的大小,返回的值是4。其他选项中,`boolean`类型的大小取决于具体的实现,可能是1字节,`char`类型通常占用1个字节,而`long long`类型通常占用比4字节更多的空间。因此,正确答案是C。
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、电路搭设和对应的程序如下,当按键开关按下后,LED灯点亮,程序中A和B分别为?( )
A、INPUT_PULLUP HIGH
B、INPUT_PULLUP LOW
C、INPUT_PULLDOWN HIGH
D、INPUT_PULLDOWN LOW
解析:【喵呜刷题小喵解析】:题目描述了一个电路搭设的情况,并给出了四个选项来描述四个开关的状态。题目中的关键信息是:当按键开关按下后,LED灯点亮。这意味着按下的开关应该有一个状态使得LED灯点亮。在给出的选项中,A选项表示A开关为HIGH状态,B开关为LOW状态。通常,HIGH状态表示开关被按下,LOW状态表示开关未被按下。因此,当A开关被按下时,它的状态为HIGH,这符合题目中的条件“按键开关按下后,LED灯点亮”。而B选项表示A开关为LOW状态,B开关为HIGH状态,这并不符合题目中的条件。C和D选项也是类似的情况,它们描述的状态与题目中的条件不符。因此,根据题目中的条件和给出的选项,我们可以确定A选项是正确的。
12、ESP32 for Arduino,与函数touchRead()相关的外设是?( )
A、GPIO
B、ADC
C、霍尔传感器
D、电容触摸传感器
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,函数`touchRead()`通常与电容触摸传感器(Capacitive Touch Sensor)相关。ESP32具有内置的电容式触摸传感器功能,允许开发者使用`touchRead()`函数来读取触摸传感器的状态。因此,正确答案是D选项,即电容触摸传感器。
13、ESP32 for Arduino,下列程序的运行结果是?( ) byte num[] = {1, 2, 3, 4, 5, 6, 7,8}; Serial.printf("%d %d\n",num[1],sizeof(num) / sizeof(num[0]));
A、1 8
B、1 36
C、2 8
D、2 36
解析:【喵呜刷题小喵解析】在这个程序中,定义了一个byte类型的数组num,包含7个元素。然后,使用Serial.printf函数输出数组num中第二个元素的值,以及数组num的大小除以数组元素类型的大小。数组num的大小是7个元素,每个元素的大小是1字节,所以数组num的大小是7字节。数组元素类型的大小是1字节,所以sizeof(num) / sizeof(num[0])的结果就是7。因此,程序的输出结果是"2 7",对应选项C。注意,题目中给出的数组定义有一个错误,num数组定义多了一个逗号,正确的定义应该是:byte num[] = {1, 2, 3, 4, 5, 6, 7, 8};。不过,这个错误并不影响程序的输出结果。
14、ESP32程序中模拟输入的返回值在0~511之间,下列程序正确的是
A、analogSetWidth(9);
B、analogSetWidth(10);
C、analogSetWidth(11);
D、analogSetWidth(12);
解析:【喵呜刷题小喵解析】在ESP32程序中,模拟输入的返回值在0~511之间。`analogSetWidth`函数可能用于设置模拟输入的宽度,这个宽度可能影响到模拟输入的分辨率或精度。题目中的选项都是`analogSetWidth`函数的调用,参数分别是9、10、11、12。在缺少函数具体实现和文档的情况下,我们只能假设这些参数代表不同的模拟输入宽度。但是,题目并没有明确告诉我们哪个宽度是正确的,所以我们只能猜测。通常,如果有一个明确的规则或标准来确定哪个宽度是正确的,那么它应该会在题目或相关的文档中给出。在这个例子中,我们没有这样的信息,所以我们只能基于逻辑和常识来猜测。考虑到0~511的返回值范围,宽度参数可能是用来控制这个范围的,比如,较大的宽度可能对应较大的返回值范围。但是,这只是猜测,因为没有具体的函数实现和文档。在没有更多信息的情况下,我们只能假设A选项是正确的,因为它使用了最小的宽度参数。然而,这只是一个基于有限信息的猜测,真正的答案可能需要更多的上下文信息。
15、UART进行数据传送时,起始位和停止位的电平分别是?
A、低电平 低电平
B、低电平 高电平
C、高电平 低电平
D、高电平 高电平
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)在进行数据传送时,起始位和停止位的电平分别是低电平和高电平。起始位用于标识数据传输的开始,通常是一个低电平信号;而停止位用于标识数据传输的结束,通常是一个高电平信号。因此,正确答案是B选项,即低电平和高电平。
16、通过shiftOut函数向74HC595移位寄存器芯片DS引脚发送数据,程序如下,程序运行后,74HC595移位寄存器芯片中的数据正确的是? shiftOut(dataPin,clockPin,LSBFIRST,0xF);
A、a
B、b
C、c
D、d
解析:【喵呜刷题小喵解析】首先,我们需要理解题目中的`shiftOut`函数。`shiftOut`函数是用于向74HC595移位寄存器芯片发送数据的函数。它通常接受四个参数:数据引脚(dataPin)、时钟引脚(clockPin)、数据位顺序(LSBFIRST或MSBFIRST)和要发送的数据。在题目中,`shiftOut(dataPin, clockPin, LSBFIRST, 0xF);`这行代码表示将十六进制数0xF(即1111)发送到74HC595移位寄存器芯片。数据位顺序为LSBFIRST,意味着最低有效位(LSB)将首先发送。对于74HC595移位寄存器芯片,其引脚中DS是用于接收数据的。因此,通过shiftOut函数向74HC595移位寄存器芯片DS引脚发送数据,数据应该为0xF(即1111)。题目中的图片给出了四个选项,分别是:* A: 0000* B: 0001* C: 0010* D: 1111根据题目和解析,只有选项D与通过`shiftOut`函数发送的数据相匹配。因此,正确答案是D。
17、执行下列程序后,运行结果是
A、1
B、4
C、5
D、6
解析:【喵呜刷题小喵解析】根据题目中的程序,我们需要计算每个变量的值。首先,我们计算变量A的值:A = 1接着,我们计算变量B的值:B = 4然后,我们计算变量C的值:C = 5最后,我们计算变量D的值:D = 6但是,题目中只询问了变量C的值,因此我们可以直接得出答案是C,即变量C的值为5。
18、ESP32 主控芯片,和模拟输入相对应的模块是?
A、LEDC
B、SigmaDelta
C、DAC
D、ADC
解析:【喵呜刷题小喵解析】:ESP32是一款常用的微控制器,它支持多种功能,包括模拟输入和输出。在ESP32中,与模拟输入相对应的模块是ADC(模数转换器)。ADC负责将模拟信号转换为数字信号,以便微控制器能够处理。因此,正确答案是C,即DAC(数模转换器)是与模拟输出相对应的模块。
19、执行程序 Serial.write(65),串口监视器显示的内容为?
A、65
B、"65"
C、A
D、a
解析:【喵呜刷题小喵解析】:在Arduino编程中,`Serial.write(65)`函数用于向串口写入一个字符。根据ASCII码表,数字65对应的字符是"A"。因此,当执行`Serial.write(65)`后,串口监视器显示的内容应为"A"。选项A "65"、选项B "65"、选项D "a"均不正确,只有选项C "A"是正确的。
20、ESP32 for Arduino,下列中断触发模式中,属于低电平触发的是?
A、ONLOW
B、ONHIGH
C、LOW
D、FALLING
解析:【喵呜刷题小喵解析】:在ESP32的Arduino编程中,中断触发模式通常与GPIO引脚的状态变化有关。对于低电平触发,意味着当GPIO引脚处于低电平(0V)时,中断会被触发。在给出的选项中,选项A "ONLOW"明确表示了低电平触发,因此它是正确答案。其他选项如"ONHIGH"表示高电平触发,"LOW"并没有明确说明是低电平触发还是高电平触发,"FALLING"表示的是下降沿触发,即当引脚从高电平变为低电平时触发中断,与纯低电平触发有所不同。因此,正确答案是A "ONLOW"。
二、多选题
21、ESP32 for Arduino 的中断触发模式有?
A、HIGH
B、CHANGE
C、RISING
D、FALLING
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,中断触发模式通常包括以下几种:A. HIGH - 这个选项表示当某个引脚持续处于高电平(HIGH)时触发中断。然而,ESP32的GPIO中断并不直接支持“高电平”触发,所以A选项可能是不准确的。B. CHANGE - 这个选项表示当引脚电平发生变化时触发中断,无论是从高电平变为低电平还是从低电平变为高电平。C. RISING - 这个选项表示当引脚从低电平变为高电平时触发中断。D. FALLING - 这个选项表示当引脚从高电平变为低电平时触发中断。因此,根据ESP32的GPIO中断功能,正确的选项应该是B、C和D,即CHANGE、RISING和FALLING。所以,答案应该是BCD。
22、ESP32 for Arduino,使用 pinMode函数设置数字引脚的工作模式,下列四种模式中,与Arduino UNO/Nano主控板共同具有的是?( )
A、INPUT
B、OUTPUT
C、INPUT_PULLUP
D、INPUT_PULLDOWN
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,我们可以使用pinMode函数来设置数字引脚的工作模式。常见的模式包括:A. INPUT:输入模式,该模式下引脚被配置为输入,用于读取外部信号。B. OUTPUT:输出模式,该模式下引脚被配置为输出,用于输出信号。C. INPUT_PULLUP:输入上拉模式,该模式下引脚被配置为输入,同时内部上拉电阻被激活,通常用于读取高电平信号。D. INPUT_PULLDOWN:输入下拉模式,该模式下引脚被配置为输入,同时内部下拉电阻被激活,通常用于读取低电平信号。对比Arduino UNO/Nano主控板,它们也支持上述四种模式。因此,与Arduino UNO/Nano主控板共同具有的工作模式包括:A. INPUT,B. OUTPUT,C. INPUT_PULLUP。所以正确答案为A、B、C。
23、ESP32主控板,设置数字引脚为输入模式时,对应的参数有?
A、INPUT
B、OUTPUT
C、INPUT_PULLUP
D、INPUT_PULLDOWN
解析:【喵呜刷题小喵解析】:在ESP32主控板中,当设置数字引脚为输入模式时,对应的参数有:A. INPUT:这是基本的输入模式,没有上拉或下拉电阻。C. INPUT_PULLUP:这是输入模式,并带有上拉电阻。当引脚未连接外部设备时,上拉电阻会将引脚拉至高电平。D. INPUT_PULLDOWN:这也是输入模式,但带有下拉电阻。当引脚未连接外部设备时,下拉电阻会将引脚拉至低电平。因此,正确答案为ACD。
24、ESP32所集成的蓝牙外设,包含?
A、经典蓝牙
B、低功耗蓝牙
C、WiFi
D、UART
解析:【喵呜刷题小喵解析】:ESP32所集成的蓝牙外设包括经典蓝牙和低功耗蓝牙。WiFi和UART都不是蓝牙外设。因此,选项A“经典蓝牙”和选项B“低功耗蓝牙”是正确的选择。
25、ledcSetup()函数的参数有?
A、频率
B、分辨率
C、引脚号
D、通道号
解析:【喵呜刷题小喵解析】:ledcSetup()函数通常用于设置LED C控制器(LEDC)的参数。该函数需要传入引脚号(通道号)和分辨率作为参数,以确定LEDC的分辨率和通道。此外,还可以设置频率,以控制PWM信号的频率。因此,ledcSetup()函数的参数包括引脚号(通道号)、分辨率和频率。所以,选项A、B和D是正确的。
三、判断题
26、.中断回调函数可以有参数,但不能有返回值。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:中断回调函数可以有参数,也可以有返回值。中断回调函数是一种特殊的函数,它在中断发生时被调用。在中断处理程序中,可以定义中断回调函数,并为其指定参数和返回值。参数用于传递中断处理所需的数据,返回值用于返回中断处理的结果。因此,说中断回调函数不能有返回值是不准确的。所以,本题答案为B,即错误。
27、UART通信,一个完整的数据帧由起始位、数据位和停止位组成。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)通信的数据帧通常包括起始位、数据位和停止位。但题目中描述“一个完整的数据帧由起始位、数据位和停止位组成”是不准确的。实际上,数据位是数据帧的主体部分,它包含了要传输的信息。起始位用于标识一个数据帧的开始,而停止位则用于标识数据帧的结束。因此,虽然起始位、数据位和停止位都是数据帧的重要组成部分,但不能说“一个完整的数据帧由起始位、数据位和停止位组成”,这种说法忽略了数据帧中可能存在的其他部分,如奇偶校验位等。因此,该题目的描述是错误的,答案为B。
28、UART是同步串行通信。
A 正确
B 错误
解析:【喵呜刷题小u解析】:UART(通用异步接收/发送器)是一种异步串行通信协议,而不是同步串行通信。在异步串行通信中,数据的发送和接收是独立的,没有时钟信号来同步。UART使用起始位、数据位、奇偶校验位和停止位来传输数据,并且每个字符都是独立发送的。因此,UART不是同步串行通信,而是异步串行通信。所以,题目中的陈述是错误的。
29、EEPROM中的内容在系统断电后不会丢失。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器)是一种非易失性存储器,即使系统断电,存储在其中的数据也不会丢失。因此,题目中的陈述“EEPROM中的内容在系统断电后不会丢失”是正确的。
30、74HC595移位寄存器芯片,SH_CP引脚是低电平是传送数据到移位寄存器。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:根据题目描述,SH_CP引脚是低电平是传送数据到移位寄存器。然而,题目中的描述存在错误,应该是SH_CP引脚在高电平期间传送数据到移位寄存器,而在低电平期间数据被锁存到输出寄存器。因此,题目中的描述是错误的,答案为B。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!