一、单选题
1、UART数据帧的起始位是?( )
A、高电平
B、低电平
C、下降沿
D、上升沿
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)数据帧的起始位是低电平。在UART通信中,数据帧的起始位是一个低电平信号,用于标识数据帧的开始。因此,正确答案是B,即低电平。
2、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”。
3、下列关于程序 EEPROM.write(2,3)描述正确的是?
A、向 EEPROM 中地址 3 写入数字 2
B、向 EEPROM 中地址 2 写入数字 3
C、自 EEPROM 地址 3 起写入 2 个字节信息
D、自 EEPROM 地址 2 起写入 3 个字节信息
解析:【喵呜刷题小喵解析】根据题目描述,程序EEPROM.write(2,3)中的第一个参数2表示写入数据的地址,第二个参数3表示要写入的数据。因此,正确的描述应该是向EEPROM中地址2写入数字3,选项B正确。其他选项A、C、D都与题目描述不符。
4、Serial.println(0xB,BIN)的结果是?
A、0xA
B、10
C、1011
D、1110
解析:【喵呜刷题小喵解析】题目要求将0xB以二进制形式打印出来,即要求将十六进制数0xB转换为二进制数。在十六进制中,B代表11,因此0xB转换为十进制是11,再转换为二进制是1011。所以,Serial.println(0xB,BIN)的结果是1011,选项C正确。
5、ESP32 for Arduino 环境下,下列程序的运行结果是?
A、1 8
B、4 8
C、1 32
D、4 32
解析:【喵呜刷题小喵解析】题目中的图片未显示,因此无法直接分析图片内容。然而,根据题目描述,这是一个关于ESP32在Arduino环境下的程序运行结果的题目。题目提供了四个选项,分别是A 1 8、B 4 8、C 1 32和D 4 32。由于题目没有给出具体的程序代码,我们只能通过选项来推测可能的答案。通常,ESP32在Arduino环境下的程序运行结果可能与输出值有关,可能是某个变量的值、计算结果或者输出到串口的数据等。在此情况下,我们可以猜测程序可能涉及某种计算或者输出操作,而结果可能与选项中的数字有关。选项A 1 8、B 4 8中的数字组合不太符合常见的计算或输出格式,而选项C 1 32中的数字组合也不太合理。选项D 4 32中的数字组合更符合一些常见的计算或输出格式,比如常见的变量名或计算结果。因此,基于以上分析,我们可以推测选项D 4 32是正确答案。然而,由于题目没有给出具体的程序代码,这只是一个基于选项的推测。要获得准确的答案,需要查看具体的程序代码。
6、ESP32 采用 LEDC 方式进行模拟输出时,通道参数设置的函数是?
A、ledcSetup()
B、ledcAttachPin()
C、analogWrite()
D、ledcWrite()
解析:【喵呜刷题小喵解析】:在ESP32中,使用LEDC方式进行模拟输出时,通道参数设置的函数是`aledcSetup()`。这个函数用于设置LEDC通道的参数,如通道号、分频系数、占空比等。其他选项如`ledcAttachPin()`用于将LEDC通道与特定的引脚关联,`analogWrite()`并不是ESP32的LEDC库中的函数,而`ledcWrite()`用于写入LEDC通道的占空比。因此,正确答案是A。
7、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正确。
8、ESP32 for Arduino,电路如图所示,运行下列程序后,当按键按下时,下列说法正确的是?
A、按键按下时LED灯点亮
B、按键按下时LED灯熄灭
C、按键按下时LED灯闪烁
D、按键按下时LED灯亮灭状态不确定
解析:【喵呜刷题小喵解析】:根据电路图,当按键按下时,按键的一端会连接到地,另一端通过电阻连接到ESP32的某个引脚。由于按键按下时,引脚电平会变为低电平,因此可以判断ESP32的引脚输入为低电平。根据程序逻辑,当引脚输入为低电平时,LED灯会点亮。因此,当按键按下时,LED灯会点亮,选项A正确。
9、ESP32 for Arduino 模拟输入函数 analogRead()返回的最大值是?
A、0
B、255
C、1023
D、4095
解析:【喵呜刷题小喵解析】:在Arduino平台上,模拟输入函数`analogRead()`返回的值是基于ADC(模拟数字转换器)的分辨率来决定的。对于ESP32来说,它使用的ADC的分辨率通常是12位,这意味着它可以读取0到4095之间的值。因此,正确答案是D选项,即`analogRead()`返回的最大值是4095。
10、ESP32 for Arduino 所提供EEPROM类库的成员函数中,用于将数据最终写入到EEPROM中的成员函数是?( )
A、begin()
B、write()
C、commit()
D、read()
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino所提供的EEPROM类库中,用于将数据最终写入到EEPROM中的成员函数是`commit()`。这是因为`begin()`函数用于初始化EEPROM,`write()`函数用于将数据写入到EEPROM的缓冲区,而`commit()`函数则负责将缓冲区中的数据真正写入到EEPROM中。`read()`函数则是用于从EEPROM中读取数据。因此,正确答案是C选项。
11、ESP32 for Arduino程序如下,程序运行后串口监视器显示的数值是?( )
A、4
B、8
C、12
D、24
解析:【喵呜刷题小喵解析】根据提供的图片信息,程序运行后串口监视器显示的数值应该是12。在图片中,程序被分为四个部分,分别标记为A、B、C、D。根据题目中的选项,A代表4,B代表8,C代表12,D代表24。由于程序运行后串口监视器显示的数值应该与图片中的某个部分对应,而图片中显示的数值是12,因此正确答案应该是C。
12、表达式0xFF&0xAA的结果是?
A、0xFF
B、0xAA
C、0xFA
D、0xAF
解析:【喵呜刷题小喵解析】:在这个问题中,我们有两个十六进制数,0xFF和0xAA。当我们对这两个数进行按位与(&)操作时,结果如下:0xFF -> 二进制:1111 11110xAA -> 二进制:1010 1010按位与(&)操作规则是:对于每一个二进制位,只有当两个相应的位都是1时,结果才为1,否则为0。所以,执行按位与(&)操作后,我们得到的结果二进制表示为:1010 1010这是十六进制的AA,因此,选项B是正确答案。
13、正常状态下,ESP32 WROOM模块的工作电压是
A、3.0V
B、3.3V
C、3.6V
D、5.0V
解析:【喵呜刷题小喵解析】:ESP32 WROOM模块的正常工作电压是3.3V。这是ESP32系列芯片的标准工作电压,用于驱动其内部电路和与外部设备通信。因此,正确答案是B选项,即3.3V。其他选项如3.0V、3.6V和5.0V都不符合ESP32 WROOM模块的正常工作电压要求。
14、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是正确的。
15、ESP32 for Arduino,电路如图所示,运行下列程序后,当按键按下时,下列说法正确的是?
A、按键按下时LED灯点亮
B、按键按下时LED灯熄灭
C、按键按下时LED灯闪烁
D、按键按下时LED灯亮灭状态不确定
解析:【喵呜刷题小喵解析】根据电路图,当按键按下时,按键的一端与GND相连,另一端与ESP32的某个引脚相连。由于按键按下时,引脚电平变为低电平,因此可以推断出,当按键按下时,ESP32的某个引脚会接收到低电平信号。如果程序中设置了当接收到低电平信号时,点亮LED灯,那么按键按下时LED灯就会点亮。因此,选项A“按键按下时LED灯点亮”是正确的。
16、74HC595 移位寄存器模块级联时,用于级联模块间数据传输的引脚是?
A、SH_CP
B、SH_CP
C、Ds
D、Ds’
解析:【喵呜刷题小喵解析】:在74HC595移位寄存器模块级联时,用于级联模块间数据传输的引脚是Ds’。这个引脚用于在多个74HC595模块之间传递数据,从而实现级联操作。因此,正确答案是Ds’。
17、ESP32 for Arduino, 下列选项中,关于函数analogSetWidth(bits) 描述正确的是?( )
A、设置模拟输入函数返回值的范围
B、设置模拟输入函数的通道
C、设置模拟输入函数的频率
D、设置模拟输入函数的工作模式
解析:【喵呜刷题小喵解析】:在ESP32 for Arduino的上下文中,函数analogSetWidth(bits)通常用于设置模拟输入函数返回值的范围,而不是通道、频率或工作模式。根据选项,选项A描述"设置模拟输入函数返回值的范围"与函数名称和常见用法相符。因此,正确答案是A。
18、下列函数中,用于将数据指定位设置为1(置位)的函数是?
A、shiftOut()
B、bitSet()
C、bitClear()
D、bitRead()
解析:【喵呜刷题小喵解析】:在提供的选项中,用于将数据指定位设置为1(置位)的函数是"bitSet()"。其他选项的功能如下:A. shiftOut() - 这个函数通常用于串行通信,将数据通过串行接口发送出去。C. bitClear() - 这个函数用于将数据指定位设置为0(清零)。D. bitRead() - 这个函数用于读取指定位的数据值,但并不改变该位的状态。因此,正确答案是B,即"bitSet()"。
19、ESP32 for Arduino,电路如图所示,当按键保持按下状态时触发中断,对应的中断触发模式是?
A、ONLOW
B、ONHIGH
C、RISING
D、FALLING
解析:【喵呜刷题小喵解析】:根据电路图,当按键保持按下状态时,引脚nA应为低电平,nB应为高电平。根据中断触发模式,ONLOW表示当引脚为低电平时触发中断,ONHIGH表示当引脚为高电平时触发中断。因此,当按键保持按下状态时,引脚nA为低电平,应该触发ONLOW中断模式。而nB为高电平,不会触发ONHIGH中断模式。对于引脚nC和nD,题目中没有给出具体的中断触发模式,因此无法判断。因此,正确答案是B,即nB的ONHIGH中断模式。
20、电路搭设和对应的程序如下,当按键开关按下后,LED灯点亮,程序中A和B分别为?( )
A、INPUT_PULLUP HIGH
B、INPUT_PULLUP LOW
C、INPUT_PULLDOWN HIGH
D、INPUT_PULLDOWN LOW
解析:【喵呜刷题小喵解析】根据题目中的电路搭设和对应的程序,当按键开关按下后,LED灯点亮。根据电路图,按键开关与A相连,且按键开关按下时,A应为高电平,即HIGH。而B是与按键开关没有直接相连的点,当按键开关按下时,B的电平状态应该不受影响。题目中给出了四个选项,A INPUT_PULLUP HIGH表示A为高电平且上拉电阻已启用,B INPUT_PULLUP LOW表示B为低电平且上拉电阻已启用,C INPUT_PULLDOWN HIGH表示A为低电平且下拉电阻已启用,D INPUT_PULLDOWN LOW表示B为低电平且下拉电阻已启用。由于按键开关按下时,A应为高电平,所以选项C符合题意。因此,正确答案为C。
二、多选题
21、下列选项中,可实现将整形变量val的值翻倍的表达式有?( )
A、val += val;
B、val *= 2;
C、val <<= 1;
D、val >>= 1;
解析:【喵呜刷题小喵解析】:选项A:`val += val;` 是将 `val` 的值加上它自身,即 `val = val + val`,这实际上是将 `val` 的值翻倍。选项B:`val *= 2;` 是将 `val` 的值乘以2,这明确地将 `val` 的值翻倍。选项C:`val <<= 1;` 是将 `val` 的二进制表示向左移动一位,相当于将 `val` 乘以2。这是因为二进制数的左移相当于乘以2。选项D:`val >>= 1;` 是将 `val` 的二进制表示向右移动一位,相当于将 `val` 除以2。因此,这不是将 `val` 的值翻倍。所以,选项A、B和C都可以实现将 `val` 的值翻倍。
22、 ESP32 for Arduino,电路如图所示,当按键按下后释放时触发中断,对应的中断触发模式是?( )
A、ONLOW
B、CHANGE
C、RISING
D、FALLING
解析:【喵呜刷题小喵解析】根据电路图,按键按下后释放时触发中断,对应的中断触发模式可能是上升沿触发或电平变化触发。从选项中可以看出,对应的中断触发模式为B选项的CHANGE(电平变化)和C选项的RISING(上升沿)。因此,正确答案为B、C。
23、下列选项中,属于位运算符的有?( )
A、&
B、|
C、~
D、!
解析:【喵呜刷题小喵解析】:在给出的选项中,A & 表示按位与运算符,B | 表示按位或运算符,C ~ 表示按位非运算符,它们都是位运算符。而D选项中的“!”是逻辑非运算符,不是位运算符。因此,正确答案是A、B和C。
24、UART串行通信,一个完整的数据帧包含?( )
A、起始位
B、数据位
C、校验位
D、停止位
解析:【喵呜刷题小喵解析】:UART(通用异步接收/发送器)是一种串行通信协议,用于异步通信。一个完整的数据帧通常包括起始位、数据位、校验位和停止位。起始位用于标识数据帧的开始,数据位包含实际要传输的数据,校验位用于检测数据传输过程中是否出现错误,停止位用于标识数据帧的结束。因此,选项A、B、C和D都是UART串行通信中数据帧的组成部分。
25、关于ESP32 WROOM模块,下列说法正确的是?
A、模块芯片是双核处理器
B、模块芯片是16bit
C、模块集成了霍尔传感器
D、模块集成了DAC
解析:【喵呜刷题小喵解析】:ESP32 WROOM模块是一个集成Wi-Fi和蓝牙功能的微控制器模块,常用于物联网和嵌入式应用。A选项提到模块芯片是“双核处理器”,这是正确的。ESP32确实采用了双核处理器,使得其性能更强,能够同时处理多个任务。B选项提到模块芯片是“16bit”,这是不正确的。ESP32的处理器位数并不是16bit,而是32bit。C选项提到模块“集成了霍尔传感器”,这是正确的。ESP32确实支持外部霍尔传感器,但并非模块本身集成,而是需要通过特定的引脚和外部电路来连接霍尔传感器。D选项提到模块“集成了DAC”,这也是正确的。ESP32确实集成了数字模拟转换器(DAC),可以用于将数字信号转换为模拟信号。因此,正确答案是A和D。
三、判断题
26、串口波特率数值越大,数据传输的速率越大。( )
A 正确
B 错误
解析:【喵呜刷题小u解析】:串口波特率数值越大,数据传输的速率并不一定越大。波特率是指串口通信中每秒传输的符号数,而数据传输速率是指每秒传输的数据量。波特率与数据传输速率之间的关系取决于每个符号所携带的数据位数。如果每个符号携带的数据位数固定,那么波特率越高,数据传输速率也越高。但是,如果每个符号携带的数据位数可变,那么波特率与数据传输速率之间的关系就会变得更加复杂。因此,不能简单地说波特率数值越大,数据传输的速率就越大。
27、ESP32 所有的引脚都可以作为数字输入和数字输出引脚使用。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:ESP32的引脚并非全部都可以作为数字输入和数字输出引脚使用。某些引脚可能具有特定的功能,如电源引脚、接地引脚、特殊功能引脚等,这些引脚可能无法用作数字输入或输出。因此,题目中的陈述是不准确的,答案为B。
28、ESP32 for Arduino 中定义的数组,数组中元素的下标从 1 开始。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在大多数编程语言中,包括C和C++,数组的索引通常从0开始。在Arduino中,基于C/C++,数组的索引也是从0开始的。因此,ESP32 for Arduino中定义的数组,其元素的下标也是从0开始的,而不是从1开始。所以,题目中的说法“数组中元素的下标从1开始”是错误的。因此,正确答案是B。
29、通过计算机USB端口给ESP32主控板供电,USB输出的是5V电压,所以ESP32主控芯片的工作电压是5V。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:虽然USB端口通常输出5V电压,但ESP32主控芯片的工作电压并不一定是5V。具体的工作电压取决于ESP32主控芯片的数据手册和规格。因此,不能仅凭USB端口输出的电压来断定ESP32主控芯片的工作电压是5V,故原题错误。
30、millis()函数返回值的单位是微秒。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在多数编程语境中,`millis()`函数通常返回的是从程序启动到当前时刻的毫秒数,而不是微秒数。因此,题目中的说法“millis()函数返回值的单位是微秒”是错误的。所以,正确答案是B。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!