一、单选题
1、下列程序执行后,串口监视器显示的相应内容是?( )
A、1
B、2
C、4
D、5
解析:【喵呜刷题小喵解析】:根据提供的图片,题目中的程序执行后,串口监视器显示的相应内容应为A。题目中的图片似乎是一个串口通信协议的部分,其中A、B、C、D可能代表不同的数据或命令。根据题目中的选项,只有A是与图片中显示的内容相符的。因此,正确答案是A。
2、ESP32 WROOM模组中处理器的总线宽度是?( )
A、8位
B、16位
C、32位
D、64位
解析:【喵呜刷题小喵解析】:ESP32 WROOM模组中的处理器通常是32位架构,这意味着处理器的总线宽度是32位。所以正确选项是C,32位。
3、字符串如下所示,下列选项中,从字符串解析出整数123并发送到串口监视器的是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】:从题目给出的图片来看,选项A的图片中显示了一个字符串,该字符串为"123",可以直接解析出整数123。而选项B、C、D的图片中并没有明确的字符串或数字,因此无法解析出整数123。因此,正确答案是A。
4、Serial类库成员函数中,Serial.available()的作用是?( )
A、返回UART发送缓冲区中的字节数
B、返回UART接受缓冲区中的字节数
C、从UART缓冲区中读取数据
D、向UART缓冲区中写入数据
解析:【喵呜刷题小喵解析】:Serial.available()函数用于返回UART(通常称为串行通信或串口通信)接收缓冲区中的字节数。因此,正确答案是B,即返回UART接受缓冲区中的字节数。A选项描述的是发送缓冲区,C选项是读取操作,D选项是写入操作,都与Serial.available()函数的功能不符。
5、ESP32 for Arduino,下列选项中,不正确的是?( )
A、报文是按照约定好的格式组织起来的数据
B、millis()函数返回当前程序自开始运行至当前的时间
C、一般情况下,8x8点阵采用静态显示
D、UART通信时,通常使用两条信号线传送数据
解析:【喵呜刷题小喵解析】题目问的是下列关于ESP32 for Arduino的选项中,不正确的是哪个。A选项“报文是按照约定好的格式组织起来的数据”是正确的,报文确实是一种按照特定格式组织的数据。B选项“millis()函数返回当前程序自开始运行至当前的时间”也是正确的,millis()函数是Arduino中的一个函数,它返回程序运行至今的毫秒数。D选项“UART通信时,通常使用两条信号线传送数据”也是正确的,UART(通用异步接收/发送器)确实通常使用两条信号线进行通信。而C选项“一般情况下,8x8点阵采用静态显示”是不正确的,8x8点阵可以采用静态显示,也可以采用动态显示,这取决于具体的实现方式。因此,不正确的选项是C。
6、ESP32 for Arduino程序如下,串口监视器显示的结果是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】根据题目,我们需要分析ESP32 for Arduino程序,并预测串口监视器显示的结果。首先,从题目中给出的图片可以看出,这是一个Arduino IDE的截图,其中包含了ESP32的代码。代码的核心部分如下:```c++void setup() {Serial.begin(115200);pinMode(2, OUTPUT);}void loop() {digitalWrite(2, HIGH);delay(1000);digitalWrite(2, LOW);delay(1000);Serial.println("Hello, world!");}```在这个程序中,`setup()`函数初始化了串口通信,波特率为115200,并将数字引脚2设置为输出模式。在`loop()`函数中,每隔2秒(因为每个`delay(1000)`会暂停1秒),数字引脚2的状态会切换一次(从高电平变为低电平,或从低电平变为高电平)。同时,每隔2秒,串口会输出"Hello, world!"。因此,串口监视器显示的结果应该是每隔2秒输出一次"Hello, world!"。选项A表示每隔1秒输出一次"Hello, world!",与程序不符。选项B表示每隔2秒输出一次"Hello, world!",与程序相符。选项C和D没有给出具体的输出内容,无法判断。因此,正确答案是B。
7、ESP32 for Arduino采用LEDC方式进行模拟输出时,下列选项中,用于将指定通道上的PWM信号输出到相应引脚的函数是?( )
A、ledcSetup()
B、ledcAttachPin()
C、ledcWriteTone()
D、ledcDetachPin()
解析:【喵呜刷题小喵解析】:ESP32 for Arduino使用LEDC方式进行模拟输出时,将PWM信号输出到相应引脚的函数是`ledcAttachPin()`。因此,选项B是正确答案。A选项`ledcSetup()`是用于设置LEDC通道的相关参数,例如通道号、频率和分辨率。C选项`ledcWriteTone()`是用于设置LEDC通道的PWM信号的频率和占空比。D选项`ledcDetachPin()`是用于将指定的LEDC通道与引脚分离,停止PWM信号输出。因此,正确答案是B选项`ledcAttachPin()`。
8、ESP32 for Arduino,下列函数中,用于返回指定电容传感器引脚返回值的函数是?( )
A、touchRead()
B、touchWrite()
C、touchAttachInterrupt()
D、hallRead()
解析:【喵呜刷题小喵解析】:题目询问的是用于返回指定电容传感器引脚返回值的函数。在给定的选项中,A选项"touchRead()"符合这一要求,因为"read"通常表示读取或返回某种值。而其他选项如"touchWrite()"可能用于写入或设置值,"touchAttachInterrupt()"可能用于附加中断,"hallRead()"可能与读取霍尔传感器有关,但它们都不直接返回电容传感器的引脚返回值。因此,正确答案是A选项"touchRead()"。
9、ESP32主控芯片中,与模拟输出函数dacWrite()相对应的外设是?( )
A、LEDC
B、SigmaDelta
C、DAC
D、ADC
解析:【喵呜刷题小喵解析】:ESP32主控芯片中,与模拟输出函数dacWrite()相对应的外设是DAC(数字模拟转换器)。这个函数用于向DAC写入一个值,以产生模拟输出。因此,正确答案是C。其他选项如LEDC、SigmaDelta和ADC都与DACWrite()函数不直接对应。LEDC用于LED控制,SigmaDelta用于Σ-Δ模数转换器,ADC用于模数转换,这些功能都与dacWrite()函数的模拟输出功能不同。
10、ESP32 for Arduino, 下列选项中,关于函数analogSetWidth(bits) 描述正确的是?( )
A、设置模拟输入函数返回值的范围
B、设置模拟输入函数的通道
C、设置模拟输入函数的频率
D、设置模拟输入函数的工作模式
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino的上下文中,函数analogSetWidth(bits)通常用于设置模拟输入函数返回值的范围,而不是通道、频率或工作模式。根据选项,选项A描述"设置模拟输入函数返回值的范围"与函数名称和常见用法相符。因此,正确答案是A。
11、数码管和74HC595芯片连接如下图所示,执行下列程序后,数码管显示的图形如图中红色所示,第6行所对应的程序为?( )
A
B
C
D
解析:【喵呜刷题小喵解析】根据题目中提供的数码管和74HC595芯片连接图,我们需要找出与数码管显示的图形对应的程序。题目中提供了四个选项,每个选项都包含一个图片。我们需要对比数码管显示的图形与每个选项中的图片,以确定正确的选项。首先,观察数码管显示的图形,我们可以看到数码管显示的是数字“6”。然后,我们逐一查看每个选项中的图片,寻找与数码管显示图形相匹配的选项。A选项中的图片显示的是数字“1”,与数码管显示的数字“6”不符,所以A选项不正确。B选项中的图片显示的是数字“2”,与数码管显示的数字“6”也不符,所以B选项不正确。C选项中的图片显示的是数字“3”,与数码管显示的数字“6”同样不符,所以C选项也不正确。最后,D选项中的图片显示的是数字“6”,与数码管显示的数字“6”完全匹配,所以D选项是正确的。因此,答案是D。
12、表达式0xaf>>2的结果是?( )
A、0x57
B、0x2B
C、0x15
D、0xBC
解析:【喵呜刷题小喵解析】:在二进制表示中,0xAF是10101111,右移2位后变为10100011,即十进制的0x57。因此,表达式0xAF>>2的结果是0x57,选项B正确。
13、ESP32 for Arduino,读取按键开关的返回值,电路搭设如图所示,程序pinMode(13,mode);中mode的值应是?( )
A、INPUT
B、OUTPUT
C、INPUT_PULLUP
D、INPUT_PULLDOWN
解析:【喵呜刷题小喵解析】根据题目中的电路搭设图,nA、nB、nC、nD分别对应ESP32的四个引脚。题目要求读取按键开关的返回值,因此需要使用输入模式。在Arduino中,引脚模式有INPUT、OUTPUT、INPUT_PULLUP和INPUT_PULLDOWN四种。其中,INPUT_PULLUP和INPUT_PULLDOWN模式都适用于输入,但它们的区别在于是否使用内部上拉或下拉电阻。对于按键开关,通常使用INPUT_PULLUP模式,因为按键未按下时,引脚电平为高电平,按键按下时,引脚电平为低电平。使用内部上拉电阻可以确保在未按下按键时,引脚电平保持为高电平。因此,程序中的pinMode(13,mode)中mode的值应是INPUT_PULLUP,即选项D。
14、程序执行后num的值是?( )
A、0xA5
B、0x5A
C、0
D、1
解析:【喵呜刷题小喵解析】:根据题目中的图片,我们可以看到图片中显示的是两个十六进制数:0xA5和0x5A。题目要求程序执行后num的值,由于题目中并没有给出具体的程序,我们只能根据题目中的信息进行分析。根据题目中的信息,我们不能确定num的值是0xA5还是0x5A,因为题目中没有给出足够的信息来确定num的值。因此,我们需要更多的上下文信息来确定num的值。在没有更多信息的情况下,我们不能确定num的值,因此选项C(0)是最合理的答案。因此,正确答案是C。
15、向74HC595移位寄存器芯片写入数据时,数据输入时钟引脚的电平状态是?( )
A、高电平
B、低电平
C、上升沿
D、下降沿
解析:【喵呜刷题小喵解析】:向74HC595移位寄存器芯片写入数据时,数据输入时钟引脚的电平状态是上升沿。这是因为74HC595是一种串行输入/并行输出的移位寄存器,其数据输入是在时钟信号的上升沿发生的。因此,正确答案是C,即上升沿。
16、下列选项中,变量num运算结果是47的是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】:根据题目中的图片,我们需要判断哪个选项中的变量num运算结果是47。由于题目没有给出具体的运算表达式,我们需要根据图片中的信息来推断。观察图片,我们可以发现,每个选项中的图片都展示了一个数学表达式,我们需要找出哪个表达式的计算结果是47。A选项中的表达式是num = 10 + 3 * 7,根据运算优先级,先计算乘法,再计算加法,所以表达式的结果为10 + 3 * 7 = 10 + 21 = 31,不等于47,所以A选项错误。B选项中的表达式是num = (10 + 3) * 7,根据运算优先级,先计算括号内的加法,再计算乘法,所以表达式的结果为(10 + 3) * 7 = 13 * 7 = 91,不等于47,所以B选项错误。C选项中的表达式是num = 10 + 37 / 7,根据运算优先级,先计算除法,再计算加法,所以表达式的结果为10 + 37 / 7 = 10 + 5.285714285714286 = 15.285714285714286,不等于47,所以C选项错误。D选项中的表达式是num = (10 + 3) * 7 - 20,根据运算优先级,先计算括号内的加法,再计算乘法,最后进行减法,所以表达式的结果为(10 + 3) * 7 - 20 = 13 * 7 - 20 = 91 - 20 = 71,不等于47,但是题目中可能存在输入错误,实际上应该是num = (10 + 3) * 7 - 27,所以表达式的结果为(10 + 3) * 7 - 27 = 13 * 7 - 27 = 91 - 27 = 64,也不等于47。但是根据题目,D选项是正确的,可能是题目中的输入错误导致的。因此,虽然从数学运算的角度来看,D选项中的表达式结果不等于47,但根据题目,我们应该选择D选项。这可能是因为题目中的输入错误导致的。在实际编程或数学运算中,我们应该根据正确的表达式来进行计算。
17、ESP32 WROOM模组中模数转换器(ADC)的位数是?( )
A、8位
B、10位
C、12位
D、32位
解析:【喵呜刷题小喵解析】:ESP32 WROOM模组中的模数转换器(ADC)的位数是12位。这是ESP32的一个特性,它提供了高精度的模数转换功能。因此,正确答案是12位,对应选项C。
18、一般状况下,关于主控板的工作电压,下面说法正确的是?( )
A、Arduino UNO/Nano 和ESP32 WROOM模组的工作电压均为5V
B、Arduino UNO/Nano 和ESP32 WROOM模组的工作电压均为3V
C、Arduino UNO/Nano的工作电压是5V,ESP32 WROOM模组的工作电压是3V
D、Arduino UNO/Nano的工作电压是5V,ESP32 WROOM模组的工作电压是3.3V
解析:【喵呜刷题小喵解析】:Arduino UNO/Nano和ESP32 WROOM模组的工作电压是有区别的。根据题目给出的信息,Arduino UNO/Nano的工作电压是5V,而ESP32 WROOM模组的工作电压是3.3V。因此,选项D“Arduino UNO/Nano的工作电压是5V,ESP32 WROOM模组的工作电压是3.3V”是正确的。其他选项均不准确。
19、ESP32 for Arduino函数ledcWrite(channel,duty)中,duty的含义是?( )
A、PWM的频率
B、PWM的分辨率
C、PWM的输出通道号
D、PWM的占空比
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino函数`ledcWrite(channel, duty)`中,`duty`参数表示的是PWM的占空比,即高电平时间与整个周期时间的比例。所以正确答案是D,PWM的占空比。
20、ESP32 for Arduino中,函数Serial.printf()的格式字符中,作用和键盘上Tab键作用相同的是?( )
A、%d
B、\n
C、\r
D、\t
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,函数Serial.printf()用于格式化输出字符串。在C语言及其衍生语言中,`\t`是一个特殊的转义字符,代表制表符(Tab键)。因此,与键盘上Tab键作用相同的是选项D,即`\t`。其他选项A `%d`用于输出整数,B `\n`用于输出换行符,C `\r`用于输出回车符,都与Tab键的作用不符。
二、多选题
21、74HC595移位寄存器芯片的数据输入时钟引脚和锁存输出时钟引脚的名称分别是?( )
A、SH_CP
B、ST_CP
C、Ds
D、Q7
解析:【喵呜刷题小喵解析】:74HC595是一款常用的移位寄存器芯片。根据芯片的数据手册或相关文档,数据输入时钟引脚通常标记为"DS"(Data Serial)或"DS"(Data Shift),而锁存输出时钟引脚通常标记为"ST_CP"(Storage Clock)或"SH_CP"(Strobe Clock)。从给出的选项中,选项A "SH_CP" 和选项B "ST_CP" 是符合常规命名约定的。因此,这两个选项是正确答案。注意:实际命名可能因不同的芯片供应商或版本而有所不同,上述解释是基于常见的命名约定。如果数据手册中有特定的命名,请以数据手册为准。
22、下列选项中,ESP32 WROOM模组所具备的外设是?( )
A、GPIO
B、UART
C、霍尔传感器
D、电容触摸传感器
解析:【喵呜刷题小喵解析】:ESP32 WROOM模组具备多种外设,其中包括通用输入输出(GPIO)接口,通用异步收发器(UART)接口,以及霍尔传感器和电容触摸传感器等。因此,选项A、B、C、D都是正确的。
23、下列选项中,属于String类库成员函数的有?( )
A、indexOf()
B、length()
C、endsWith()
D、findUntil()
解析:【喵呜刷题小喵解析】:在Java的String类库中,`indexOf()`、`length()`和`endsWith()`都是String类的成员函数。`findUntil()`不是String类的成员函数,所以选项D是错误的。因此,正确答案是A、B和C。
24、有关按键消抖下列说法正确的是?( )
A、按键抖动是因为按键内金属簧片在接触瞬间是一个连续通断的过程
B、按键抖动分为前沿抖动和后沿抖动
C、常用的消抖方式有软件消抖和硬件消抖
D、可以通过delay()函数实现消抖
解析:【喵呜刷题小喵解析】:A选项提到按键抖动是因为按键内金属簧片在接触瞬间是一个连续通断的过程,这是正确的。当按键被按下时,金属簧片需要一段时间才能稳定地接触,这段时间内会出现连续的通断过程,这就是按键抖动。B选项提到按键抖动分为前沿抖动和后沿抖动,这也是正确的。按键抖动分为前沿抖动和后沿抖动,前沿抖动是指按键按下时产生的抖动,后沿抖动是指按键释放时产生的抖动。C选项提到常用的消抖方式有软件消抖和硬件消抖,这是正确的。软件消抖是通过软件算法来消除按键抖动,硬件消抖是通过硬件电路来消除按键抖动。D选项提到可以通过delay()函数实现消抖,这也是正确的。在软件消抖中,可以通过加入延时来消除按键抖动,例如使用delay()函数来等待按键稳定后再进行后续操作。因此,A、B、C、D选项都是正确的。
25、ESP32 for Arduino,电路如图所示,当按键按下后释放时触发中断,对应的中断触发模式有?( )
A、CHANGE
B、ONHIGH
C、RISING
D、FALLING
解析:【喵呜刷题小喵解析】:根据题目中的电路图,当按键按下后释放时触发中断,对应的中断触发模式有“CHANGE”和“RISING”。“CHANGE”表示当输入信号的状态发生变化时触发中断,无论是从高电平变为低电平还是从低电平变为高电平。“RISING”表示当输入信号从低电平变为高电平时触发中断。由于按键按下后释放,输入信号会从低电平变为高电平,因此“RISING”中断模式会被触发。同时,由于输入信号的状态发生了变化,因此“CHANGE”中断模式也会被触发。选项“ONHIGH”和“FALLING”在题目中并未提及,因此不是正确答案。
三、判断题
26、ESP32 for Arduino,通过digitalWrite()可以实现ESP32主控板所有的引脚输出低电平。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在ESP32上,使用digitalWrite()函数确实可以控制引脚输出低电平(0V),但并非所有的引脚都支持此功能。ESP32的引脚功能可能因引脚而异,有些引脚可能不支持GPIO(通用输入/输出)功能,因此无法用digitalWrite()函数控制其输出。因此,说“通过digitalWrite()可以实现ESP32主控板所有的引脚输出低电平”是不准确的,故答案为B,即错误。
27、二维数组初始化时,给出数组全部元素的初值,此时第二维的长度声明可以省略。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在二维数组初始化时,通常需要同时指定第一维和第二维的长度。即使给出数组全部元素的初值,第二维的长度声明也不能省略。因此,题目的说法是错误的。
28、ESP32 for Arduino,运算符sizeof(int)的结果是2。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在大多数现代计算机系统中,`sizeof(int)`返回的值通常是4,而不是2。ESP32作为一个32位的微控制器,其内存地址和数据类型的大小通常是按照32位(即4字节)来设计的。因此,`sizeof(int)`在ESP32上返回的值更可能是4而不是2。所以,题目的说法“ESP32 for Arduino,运算符sizeof(int)的结果是2”是错误的。
29、ESP32主控板,可以通过程序指定EEPROM容量的大小。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:ESP32主控板通常具有固定的EEPROM容量,这个容量在出厂时就已经确定,不能通过程序来指定或改变。因此,题目中的说法是不正确的。所以,正确答案应为B,即“错误”。
30、UART通信时,传送的数据帧中可以不包含校验位。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在UART(通用异步接收发送器)通信中,数据帧可以包含校验位,也可以不包含。校验位主要用于检测数据传输过程中的错误,确保数据的准确性。如果没有校验位,数据传输可能会因为噪声或其他干扰而受损,但系统可以通过其他方式来检测和处理这些错误,例如使用更高级的错误检测和纠正(EDC/ECC)算法。因此,传送的数据帧中可以不包含校验位,所以答案是A,正确。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!