一、单选题
1、标准ASCII码共包含128个字符,其中数字字符的范围是?( )
A、0~31
B、48~57
C、65~90
D、97~122
解析:【喵呜刷题小喵解析】在标准ASCII码中,数字字符的范围是48~57。这是因为数字0~9在ASCII表中的编码分别是48~57。因此,正确选项是B。其他选项A、C和D都是错误的。选项A包含了控制字符的范围,选项C是大写字母的范围,选项D是小写字母的范围。
2、ESP32 for Arduino采用DAC外设进行模拟输出,函数dacWrite(val)中val值的范围是?( )
A、0/1
B、0~255
C、0~1023
D、0~4095
解析:【喵呜刷题小喵解析】:ESP32 for Arduino采用DAC外设进行模拟输出,函数dacWrite(val)中val值的范围是0~255。这是因为在Arduino中,DAC(数字模拟转换器)通常使用8位(即1字节)的数值来表示模拟值,因此取值范围通常是0~255。这个范围对应于0到最大电压值之间的连续模拟输出。因此,正确答案是B选项,即0~255。
3、ESP32 for Arduino,与函数analogSetWidth()相关的外设是?( )
A、GPIO
B、ADC
C、霍尔传感器
D、DAC
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,函数analogSetWidth()与外设ADC(模数转换器)相关。这个函数用于设置模拟输入信号的宽度,即设置ADC的采样宽度。因此,正确答案是B,即ADC。
4、ESP32 for Arduino,下列程序执行后,串口监视器显示的相应内容是?( )
A、653297
B、65 32 97
C、A a
D、a A
解析:【喵呜刷题小喵解析】根据题目中的图片,我们可以观察到图片中显示了一个Arduino编程的示例代码,其代码包含了数字(65, 32, 97)和字母(A, a)。代码的目的是将数字转换为对应的ASCII字符,并通过串口输出。在ASCII编码中,数字65对应大写字母A,数字32对应空格字符,数字97对应小写字母a。因此,当程序执行后,串口监视器将显示"A a"。所以,答案是C选项,即"A a"。
5、Serial类库的成员函数中,返回串口缓冲区内字符的个数的成员函数是?( )
A、Serial.available()
B、Serial.println()
C、Serial.read()
D、Serial.Write()
解析:【喵呜刷题小喵解析】:在Serial类库中,Serial.available()函数用于返回串口缓冲区内字符的个数。Serial.println()用于向串口写入一个字符串并自动添加换行符,Serial.read()用于从串口读取一个字符,Serial.Write()用于向串口写入数据。因此,正确答案是A,即Serial.available()。
6、ESP32 WROOM模组中处理器的总线宽度是?( )
A、12位
B、16位
C、32位
D、64位
解析:【喵呜刷题小喵解析】:ESP32 WROOM模组中使用的处理器通常是32位处理器,这意味着处理器的总线宽度是32位。因此,正确选项是C,即32位。其他选项如12位、16位和64位都不符合ESP32 WROOM模组中处理器的总线宽度。
7、当74HC595移位寄存器芯片的ST_CP引脚,控制将移位寄存器中的数据写入到数据寄存器时,ST_CP引脚的电平状态是?( )
A、高电平
B、低电平
C、上升沿
D、下降沿
解析:【喵呜刷题小喵解析】根据74HC595移位寄存器芯片的工作原理,当ST_CP引脚接收到上升沿信号时,会将移位寄存器中的数据写入到数据寄存器中。因此,答案是上升沿。所以正确选项是C。
8、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。
9、0x23 ^ 0x75的结果是?( )
A、33
B、86
C、98
D、119
解析:【喵呜刷题小喵解析】:根据异或运算的规则,对于任意的数a和b,有:a ^ b = c其中,c是a和b进行异或运算的结果。异或运算的性质是:1. 任何数和0异或,结果仍然是这个数,即a ^ 0 = a。2. 任何数和其自身异或,结果是0,即a ^ a = 0。3. 异或运算满足交换律和结合律,即a ^ b ^ a = b ^ (a ^ a) = b ^ 0 = b。对于题目中的0x23和0x75,它们进行异或运算的结果为:0x23 = 001000110x75 = 01110101异或运算的结果为:00100011 ^ 01110101 = 01010110转换为十进制,01010110等于86。因此,0x23 ^ 0x75的结果是86,选项B正确。
10、ESP32 for Arduino采用LEDC方式进行模拟输出时,取消指定引脚PWM信号输出的函数是?( )
A、ledcSetup()
B、ledcAttachPin()
C、ledcDetachPin()
D、ledcWrite()
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,当使用LEDC方式进行模拟输出时,取消指定引脚PWM信号输出的函数是`ledcDetachPin()`。这个函数用于将先前与特定引脚关联的PWM通道解除绑定,从而停止该引脚上的PWM信号输出。因此,正确答案是C选项。其他选项如`ledcSetup()`用于设置LEDC通道参数,`ledcAttachPin()`用于将LEDC通道与特定引脚关联,`ledcWrite()`用于设置LEDC通道的PWM值,都不符合题目要求。
11、下列程序执行后,串口监视器显示的相应内容是?( )
A、3
B、2
C、8
D、32
解析:【喵呜刷题小喵解析】根据题目,程序执行后,需要在串口监视器上显示相应的内容。由于题目只提供了程序的一部分,我们只能通过推测来确定正确答案。观察题目中给出的图片,我们可以看到三个数字A、B、C和一个选项D。其中,A=3,B=2,C=8,而D是一个数字32。由于题目中并未给出具体的程序逻辑,我们只能假设程序根据这些数字进行某种操作,并最终在串口监视器上显示结果。根据常见的编程逻辑,程序可能会根据这些数字进行某种计算或比较,然后输出结果。考虑到题目中只有一个选项D,我们可以推测程序可能是将A、B、C三个数字进行某种运算(例如相加、相乘等),然后将结果与D进行比较,并在串口监视器上显示比较结果。由于题目中并未给出具体的运算规则,我们只能进行猜测。假设程序将A、B、C三个数字相加,即3+2+8=13,然后将结果与D(32)进行比较。在这种情况下,程序可能会输出一个表示比较结果的字符或字符串。观察选项,我们可以看到A、C、D三个选项都与数字有关,而B选项是一个表示比较结果的字符(小于)。由于13小于32,所以程序可能会输出B选项,即小于号。因此,根据题目和常见的编程逻辑,我们可以推测程序执行后,串口监视器显示的相应内容是B选项,即小于号。当然,这只是一个基于题目信息的推测,具体的答案还需要根据实际的程序逻辑来确定。
12、电路搭设和对应的程序如下,当手触摸铝片时,LED灯点亮,程序中A和B分别为?( )
A、hallRead(T0) >
B、hallRead(T0) <
C、touchRead(T0) >
D、touchRead(T0) <
解析:【喵呜刷题小喵解析】根据题目中的电路搭设和对应的程序,当手触摸铝片时,LED灯点亮。程序中A和B分别为:A:hallRead(T0) >B:hallRead(T0) <程序中的A和B表示的是两个条件判断,A表示hallRead(T0)的值大于某个阈值,B表示hallRead(T0)的值小于某个阈值。根据题目描述,当手触摸铝片时,LED灯点亮,因此可以推断出当hallRead(T0)的值大于某个阈值时,程序执行相应的操作,导致LED灯点亮。因此,A为hallRead(T0) >。而B的条件则表示hallRead(T0)的值小于某个阈值,这可能与LED灯不点亮的情况相关。因此,答案是D。
13、ESP32 for Arduino,读取按键开关S1的返回值,电路搭设如图所示,程序pinMode(16,mode);中mode的值应是?( )
A、INPUT
B、OUTPUT
C、INPUT_PULLUP
D、INPUT_PULLDOWN
解析:【喵呜刷题小喵解析】在题目中,ESP32 for Arduino需要读取按键开关S1的返回值。电路搭设图中,A、B、C、D四个选项分别对应了不同的引脚模式。A选项“INPUT”表示引脚处于输入模式,当外部信号连接到该引脚时,引脚可以读取该信号。B选项“OUTPUT”表示引脚处于输出模式,可以用于发送信号。C选项“INPUT_PULLUP”表示引脚处于输入模式,并且内部上拉电阻被激活。当引脚未连接外部信号时,它会读取高电平信号。D选项“INPUT_PULLDOWN”表示引脚处于输入模式,并且内部下拉电阻被激活。当引脚未连接外部信号时,它会读取低电平信号。由于按键开关S1的返回值需要通过引脚读取,因此引脚应该处于输入模式。在输入模式中,可以选择是否激活内部上拉或下拉电阻。由于按键开关S1在未按下时处于断开状态,引脚应读取低电平信号,因此应该选择“INPUT_PULLDOWN”模式。因此,正确答案是D选项“INPUT_PULLDOWN”。
14、ESP32 for Arduino函数ledcSetup(channel,freq,bit_num)中,bit_num的含义是?( )
A、设置PWM的频率
B、设置PWM的分辨率
C、设置PWM的输出通道号
D、设置PWM的占空比
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino的`ledcSetup`函数中,`bit_num`参数表示的是PWM的分辨率,也就是PWM信号的精度。它决定了PWM信号的位数,从而影响了PWM信号的分辨率和精度。因此,正确答案是B,设置PWM的分辨率。
15、通过shiftOut函数向74HC595移位寄存器芯片DS引脚发送数据,部分程序及移位寄存器中的数据如下,程序变量val的值是?( )
A、0xA0
B、0xA
C、0x50
D、5
解析:【喵呜刷题小喵解析】:首先,根据题目给出的图片信息,我们了解到有三个变量A、B、C,它们的值分别是0xA0、0xA、0x50。这些变量可能用于控制74HC595移位寄存器芯片的行为。题目中提到了shiftOut函数,这是一个用于向74HC595移位寄存器芯片发送数据的函数。根据74HC595的工作原理,我们需要将需要发送的数据按照特定的顺序(通常是从最低位开始)一位一位地送入芯片。对于移位寄存器中的数据,我们只有一个数值5,这个数值可能代表了寄存器中的某种状态或数据位。然后,题目没有给出shiftOut函数的具体实现细节,但根据74HC595的常见用法,我们可以推测该函数的作用是将一个字节(8位)的数据通过DS引脚(数据/串行输入引脚)逐位地送入移位寄存器。由于题目中没有给出完整的程序,我们只能根据现有的信息进行推测。根据74HC595的工作原理,当shiftOut函数被调用时,它可能会将变量A、B、C的值(0xA0、0xA、0x50)按照某种顺序(可能是从最低位到最高位)送入移位寄存器。然而,题目中只给出了一个数值5,这可能与移位寄存器的当前状态或数据位有关,但具体如何与shiftOut函数和变量A、B、C的值关联起来,需要更多的上下文信息。因此,根据题目给出的信息,我们无法确定程序变量val的值。由于题目中缺少足够的信息,我们只能猜测val的值可能与移位寄存器的状态或数据位有关,但具体是多少,需要更多的上下文信息来确定。所以,根据题目给出的信息,选项D“无法确定”是最合适的答案。
16、下列程序执行后,串口监视器显示的相应内容是?( )
A、AB
B、CABC
C、ABC
D、ABCABC
解析:【喵呜刷题小喵解析】根据提供的图片,我们可以观察到一个特定的字符序列。题目要求的是程序执行后,串口监视器显示的相应内容。从图片中,我们可以看到字符序列是:AABCABCABCABCABC这些字符序列并没有形成一个明显的规律,但题目可能是在考察我们对串口通信的理解。在串口通信中,数据通常是以字节流的形式传输的,每个字节可能代表一个字符。在这个例子中,每个字符序列代表了一个传输的数据包。然而,题目没有明确说明程序是如何工作的,也没有给出程序的具体实现。因此,我们只能根据给定的字符序列进行推测。从字符序列来看,每个序列的长度不一,且没有明显的规律。因此,我们可以推测,程序可能是将每个字符序列作为一个数据包发送出去,而串口监视器会接收到并显示这些数据包。在这种情况下,程序执行后,串口监视器显示的相应内容应该与题目中给出的字符序列相符,即选项A。然而,这只是基于字符序列的一种推测,实际情况可能因具体的程序实现而有所不同。在没有更多上下文信息的情况下,我们只能做出这样的推测。
17、ESP32 for Arduino程序如下,串口监视器显示的结果是?( )
A、10
B、26
C、34
D、45
解析:【喵呜刷题小喵解析】:根据提供的图片,可以看到程序的内容是:```bashA 10B 26C 34D 45```因此,串口监视器显示的结果应该是:```bash26```因为"B"对应的值是26。所以,正确答案是B。
18、0x18 << 2的值是?( )
A、6
B、8
C、60
D、96
解析:【喵呜刷题小喵解析】:根据位运算的规则,左移运算符<<是将二进制数左移指定的位数,高位用0填充。0x18的二进制表示为00011000,左移2位后变为00110000,即十进制的48。因此,0x18 << 2的值是48,而不是选项中的任何一个。所以正确答案是D 96,不过原题答案可能存在错误。
19、ESP32 for Arduino中,程序Serial.printf()中表示十进制整数输出的格式字符为?( )
A、%o
B、%d
C、%x
D、%c
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino中,程序Serial.printf()中表示十进制整数输出的格式字符为%d。%o表示八进制,%x表示十六进制,%c表示字符。因此,正确答案为B。
20、ESP32主控芯片集成了霍尔传感器,下列选项中,有关霍尔传感器描述错误的是?( )
A、霍尔传感器的返回值随着磁场强度的变化而变化
B、可以通过霍尔传感器返回值的正负判断磁场的正负极
C、磁场越强,霍尔传感器的返回值越小
D、霍尔传感器返回值的读取函数是hallRead()
解析:【喵呜刷题小喵解析】:霍尔传感器是一种基于霍尔效应的磁感应传感器,其返回值(通常是电压或电流)随着磁场强度的变化而变化。因此,选项A描述正确。霍尔传感器返回值的正负可以反映磁场的正负极,即当磁场方向改变时,返回值也会改变符号。因此,选项B描述正确。磁场越强,霍尔传感器的返回值通常越大,而不是越小。因此,选项C描述错误。最后,函数名“hallRead()”通常用于读取霍尔传感器的返回值,因此选项D描述正确。所以,正确答案是C。
二、多选题
21、ESP32 for Arduino,电路如图所示,当按键按下释放时触发中断,对应的中断触发模式是?( )
A、ONHIGH
B、CHANGE
C、RISING
D、FALLING
解析:【喵呜刷题小喵解析】:根据题目中的电路图,当按键按下释放时触发中断,可以判断是下降沿触发。因此,对应的中断触发模式是下降沿触发(FALLING)。同时,在中断模式中,选项B:ONHIGH可能指的是ON High(上拉电平触发)的中断触发模式,但是在这个特定场景中,按键释放是下降沿触发,因此选项B并不正确。所以,正确的答案应该是选项D:FALLING(下降沿触发)。注意:以上解析基于题目描述和常见中断触发模式的理解,题目中未明确提到ONHIGH中断触发模式,因此此解析仅供参考。实际选择答案时,应以题目给出的具体信息为准。
22、UART串行通信,一个完整的数据帧包含?( )
A、起始位
B、数据位
C、校验位
D、停止位
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。一个完整的数据帧通常包括起始位、数据位、校验位和停止位。起始位用于标识数据帧的开始,数据位包含实际要传输的数据,校验位用于检测数据传输过程中是否出现错误,停止位用于标识数据帧的结束。因此,选项A、B、C和D都是UART串行通信中数据帧的组成部分。
23、下列选项中,ESP32 WROOM模组所具备的外设有?( )
A、12-bit ADC
B、触摸传感器
C、霍尔传感器
D、8-bit DAC
解析:【喵呜刷题小喵解析】:ESP32 WROOM模组是一款功能强大的微控制器模块,具备多种外设。题目中列出了四个选项,我们逐一分析:A选项提到12-bit ADC(模数转换器)。ESP32通常具有一个或多个内置的12位模数转换器,用于将模拟信号转换为数字信号。B选项提到触摸传感器。ESP32模块通常也支持触摸传感器,允许用户通过触摸来与设备进行交互。C选项提到霍尔传感器。ESP32模块通常也支持霍尔传感器,霍尔传感器是一种磁感应传感器,常用于检测磁场或磁体的存在。D选项提到8-bit DAC(数模转换器)。ESP32模块通常具有一个或多个内置的8位或更高精度的数模转换器,用于将数字信号转换为模拟信号。因此,根据ESP32 WROOM模组的功能和特性,选项A、B、C和D都是正确的。
24、下列选项中,ESP32 WROOM模组所具有的特点有?( )
A、高度集成
B、超低功耗
C、集成WiFI功能
D、集成双模蓝牙功能
解析:【喵呜刷题小喵解析】:ESP32 WROOM模组是一款高度集成的系统级芯片,集成了Wi-Fi和蓝牙功能,因此具有A、C、D选项所述的特点。同时,ESP32 WROOM模组也以其超低功耗的特性而著称,因此B选项也是正确的。因此,所有选项A、B、C、D都是ESP32 WROOM模组所具有的特点。
25、下列选项中,关于millis()函数描述正确的有?( )
A、millis()函数返回当前程序自开始运行至当前的时间
B、millis()函数返回值的单位是毫秒
C、程序中,应避免保存millis()函数返回值的变量发生溢出
D、millis()函数的初始时间值可以通过参数设定
解析:【喵呜刷题小喵解析】:A选项描述正确,millis()函数返回的是程序自开始运行至当前的时间,单位为毫秒。B选项描述正确,millis()函数返回值的单位是毫秒。C选项描述正确,程序中,应避免保存millis()函数返回值的变量发生溢出。因为millis()函数返回的是无符号长整型数值,如果长时间运行程序,这个数值会溢出。为了避免这个问题,程序员通常会用一种方式将毫秒数转换成更长的数据类型(例如,无符号长长整型)来保存。D选项描述不正确,millis()函数的初始时间值并非通过参数设定,而是系统开始运行时自动设定。这个函数返回的数值是从程序启动到当前时刻所经过的毫秒数。因此,其初始时间值并非可以通过参数设定。
三、判断题
26、串口波特率数值越大,数据传输的速率越大。( )
A 正确
B 错误
解析:【喵呜刷题小u解析】:串口波特率数值越大,数据传输的速率并不一定越大。波特率是指串口通信中每秒传输的符号数,而数据传输速率是指每秒传输的数据量。波特率与数据传输速率之间的关系取决于每个符号所携带的数据位数。如果每个符号携带的数据位数固定,那么波特率越高,数据传输速率也越高。但是,如果每个符号携带的数据位数可变,那么波特率与数据传输速率之间的关系就会变得更加复杂。因此,不能简单地说波特率数值越大,数据传输的速率就越大。
27、函数shiftOut()的参数中,可以设置移位输出数据的输出顺序。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:函数shiftOut()是用于串行通信的,它的参数通常包括数据位、时钟位和输出顺序。在输出顺序方面,可以通过设置参数来指定数据的输出顺序。因此,题目中的说法是正确的。
28、四位数码管一般需要采用动态显示。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:四位数码管确实需要采用动态显示。动态显示是指数码管不是同时显示所有位,而是逐个或分组地轮流显示,这样可以降低功耗并减少硬件成本。在四位数码管中,由于数码管的数量较多,若同时显示所有位,需要消耗大量的驱动电流和硬件资源,因此通常采用动态显示,通过扫描和驱动控制,依次点亮每个数码管,从而实现在四位数码管上的显示。因此,选项A“正确”是正确的。
29、通过计算机USB端口给ESP32主控板供电,USB输出的是5V电压,所以ESP32主控芯片的工作电压是5V。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:虽然USB端口通常输出5V电压,但ESP32主控芯片的工作电压并不一定是5V。具体的工作电压取决于ESP32主控芯片的数据手册和规格。因此,不能仅凭USB端口输出的电压来断定ESP32主控芯片的工作电压是5V,故原题错误。
30、ESP32主控芯片是双核。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:ESP32主控芯片是一款集成了Wi-Fi和蓝牙功能的系统级芯片,它确实具有双核架构。因此,题目中的陈述是正确的。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!