一、单选题
1、下图程序运行后,串口监视器显示的结果是?( )
A、0
B、1
C、3
D、4
解析:
从第一个开始,第一个a的位置应该是3,选择C。
2、下列选项中,关于74HC595移位寄存器芯片的引脚Ds描述正确的是?( )
A、并行数据输出引脚
B、串行数据级联引脚
C、数据输入时钟引脚
D、串行数据输入引脚
解析:
74HC595移位寄存器芯片的引脚Ds是串行数据输入引脚。其他选项描述的是其他引脚的功能,因此D是正确的描述。
3、2024年初,OpenAI发布了文生视频人工智能生成模型,该模型的名称是?( )
A、ChatGPT
B、DALL-E
C、AIphaFold
D、Sora
解析:
根据题目给出的信息,2024年初OpenAI发布的文生视频人工智能生成模型的名称是Sora。因此,正确答案是D。
4、0x20 << 2的值是?( )
A、10
B、40
C、80
D、128
解析:
根据位运算的规则,将一个字节(8位)的二进制数左移两位,相当于乘以4。因此,将十六进制的数0x20左移两位得到的结果是十六进制的数0x80,对应的十进制数是128。所以答案是D选项。
5、0xb & 8的值是?( )
A、8
B、10
C、11
D、13
解析:
根据位运算的规则,当两个二进制数进行位与运算(&)时,只有当两个相应的二进制位都为1时,结果位才为1。在这个问题中,我们需要计算0xb(即二进制的1011)和8(即二进制的1000)的位与运算结果。从右向左进行运算,得到的结果是:最低位(最右边)是两者共同为1的位置,为1;倒数第二位是两者共同为0的位置,为0;最高位也是两者共同为0的位置,为0。所以结果为二进制数1000,即十进制数8。因此,答案是A选项。
6、ESP32 for Arduino,可设置模拟信号返回值的分辨率,该功能所对应的函数是?( )
A、analogRead()
B、analogSetup()
C、analogSetWidth()
D、analogAttach()
解析:
在ESP32 for Arduino中,要设置模拟信号返回值的分辨率,应使用analogSetWidth()函数。该函数用于配置ADC(模拟数字转换器)的宽度,即设置模拟读数的分辨率。其他选项如analogRead()是用于读取模拟信号的值,analogSetup()和analogAttach()则与模拟信号的初始化和附加有关,但并不用于设置分辨率。因此,正确答案是C。
7、ESP32 for Arduino,使用touchRead(T0)函数读取T0引脚的返回值,当手触碰T0引脚时,函数返回值的变化趋势是?( )
A、增大
B、变小
C、不确定
D、不变
解析:
ESP32 for Arduino的touchRead(T0)函数用于读取T0引脚的触摸状态。当手触碰T0引脚时,人体会形成一个电容,与T0引脚形成一个电容式触摸传感器。由于人体的电容存在,当手触碰T0引脚时,该引脚的电容值会发生变化,从而导致touchRead(T0)函数的返回值变小。因此,当手触碰T0引脚时,函数返回值的变化趋势是变小。
8、ESP32 for Arduino,程序Serial.printf()中格式字符“%o”的含义是?( )
A、表示八进制整数输出
B、表示十进制整数输出
C、表示十六进制整数输出
D、表示浮点数输出
解析:
在ESP32 for Arduino的程序中,使用Serial.printf()函数进行格式化输出时,"%o"格式字符用于表示八进制整数的输出。因此,正确答案是A。
9、ESP32 for Arduino函数ledcSetup(channel,freq,bit_num)的参数中,其中用于设置PWM输出频率的参数是?( )
A、ledcSetup
B、channel
C、freq
D、bit_num
解析:
在ESP32 for Arduino函数ledcSetup(channel, freq, bit_num)中,用于设置PWM输出频率的参数是"freq"。因此,正确答案是C。
10、ESP32主控芯片中,具有16通道模拟输出的外设是?( )
A、LEDC
B、SigmaDelta
C、DAC
D、ADC
解析:
在ESP32主控芯片中,具有16通道模拟输出的外设是LEDC(LED Control)。因此,正确答案是A。
11、通过shiftOut()函数向级联74HC595移位寄存器芯片DS引脚发送数据,部分程序及移位寄存器中的数据如下,程序变量val1和val2的值分别是?( )
A、0x11 0xDE
B、0xDE 0x11
C、0x88 0x7B
D、0x7B 0x88
解析:
根据题目中的移位寄存器芯片DS引脚的数据传输过程,我们知道数据是从高位到低位进行移入的。通过观察程序中的shiftOut()函数和移位寄存器的数据变化,可以推断出程序变量val1和val2的值应该是移位寄存器数据的最低两位对应的十六进制数。val1的值为0x11,val2的值为0xDE。
12、ESP32 for Arduino 所提供EEPROM类库的成员函数中,下列选项中,关于成员函数begin()功能描述正确的是?( )
A、设定EEPROM的大小
B、向EEPROM中写入数据
C、提交数据,将写入的数据保存到EEPROM中
D、从EEPROM中读取一个字节的数据
13、ESP32 for Arduino,中断设置函数 attachInterrupt(pin, function, mode)中,当参数mode的值为FALLING时,下列选项中描述正确的是?( )
A、引脚pin的电平由低电平变高电平时触发中断
B、引脚pin的电平由高电平变低电平时触发中断
C、引脚pin的电平发生变化时触发中断
D、引脚pin处于低电平时触发中断
解析:
在ESP32 for Arduino的中断设置函数attachInterrupt(pin, function, mode)中,当参数mode的值为FALLING时,意味着中断将在引脚pin的电平由高电平变为低电平时触发。因此,选项B描述的是正确的。选项A描述的是由低电平变高电平时触发中断,这与mode值为FALLING的情况不符。选项C描述的是电平发生变化时触发中断,没有具体指明是由高变低还是由低变高。选项D描述的是引脚处于低电平时触发中断,也不符合mode值为FALLING时的触发条件。
14、ESP32 for Arduino,按键开关连接到引脚2,电路如图所示,当按键按下时触发中断,中断设置函数 attachInterrupt(2, function, mode)中,下列选项中,mode对应的参数应该是?( )
A、RISING
B、FALLING
C、ONHIGH
D、ONLOW
解析:
在ESP32 for Arduino中,使用attachInterrupt()函数设置外部中断时,mode参数用于指定触发中断的条件。根据常见的命名约定,对于按键开关连接到引脚2的情况,当按键按下时,引脚2的电压状态会从高到低(即从高电平变为低电平),因此应该选择"FALLING"作为mode参数。所以正确答案是B。
15、ESP32 for Arduino,下列选项中,关于函数ledcSetup()的功能描述正确的是?( )
A、设定指定LEDC通道的参数
B、将指定通道的PWM信号输出到GPIO引脚
C、向指定通道输出模拟信号
D、取消指定引脚的PWM信号输出
解析:
在ESP32 for Arduino中,函数ledcSetup()用于设定指定LEDC通道的参数,包括通道号、速度、模式和GPIO引脚等。因此,选项A描述的功能是正确的。其他选项的功能描述并不准确,故排除。
16、ESP32 for Arduino程序如下,运行后串口监视器显示的结果是?( )
A、3
B、6
C、7
D、18
解析:
根据提供的ESP32 for Arduino程序,程序中使用了串口通信(Serial communication)来显示一个计算结果。运行程序后,串口监视器显示的结果应该是 7,对应选项 C。
17、电路搭设和对应的程序如下,当按键开关按下后,LED灯点亮,程序中A和B分别为?( )
A、pinMode(16,INPUT_PULLUP);/ val == HIGH
B、pinMode(16,INPUT_PULLUP);/ val == LOW
C、pinMode(16,INPUT_PULLDOWN);/ val == HIGH
D、pinMode(16,INPUT_PULLDOWN);/ val == LOW
解析:
根据电路图,当按键开关按下后,LED灯点亮,表示按键开关与LED灯的连接形成了通路。在Arduino编程中,使用INPUT_PULLUP或INPUT_PULLDOWN模式配置引脚时,默认状态下引脚电平为高电平(HIGH)。因此,在这种情况下,程序中的A应该是配置引脚为INPUT_PULLUP模式,而B则是当该引脚读取到的值为HIGH时,表示按键开关被按下。所以正确答案是A和D。
18、程序 Serial.print(48,BIN); 运行后,串口监视器显示的结果是?( )
A、30
B、48
C、60
D、110000
解析:
Serial.print(48,BIN); 这段代码的作用是将数字48以二进制形式输出。在二进制下,48会表示为110000。因此,运行程序后,串口监视器显示的结果应该是110000。所以正确答案是D。
19、ESP32 for Arduino,实现数字信号输出,函数pinMode(pin, mode)中,参数mode的值为?( )
A、INPUT
B、OUTPUT
C、INPUT_PULLUP
D、INPUT_PULLDOWN
解析:
在ESP32 for Arduino中,实现数字信号输出时,使用函数pinMode(pin, mode)来设置引脚的工作模式。参数mode的值用于指定引脚的工作方式。其中,选项B - OUTPUT表示将引脚设置为输出模式,这是实现数字信号输出的必要设置。其他选项如INPUT、INPUT_PULLUP和INPUT_PULLDOWN是用于设置输入模式的。因此,正确的答案是B。
20、Arduino UNO/Nano主控板和ESP32主控板,运算符sizeof(int)的返回值分别是?( )
A、1 2
B、1 4
C、2 2
D、2 4
解析:
在Arduino UNO/Nano主控板和ESP32主控板上,sizeof(int)的返回值通常是与平台相关的。对于大多数现代平台,包括Arduino UNO/Nano和ESP32,一个int类型通常占用4个字节(即32位)。因此,sizeof(int)在这两个主控板上的返回值应该是4。所以正确答案是D(2 4)。
二、多选题
21、当UART数据帧包含校验位时,校验的方法有?( )
A、奇校验
B、偶校验
C、循环冗余校验
D、纵向冗余校验
解析:
UART(Universal Asynchronous Receiver/Transmitter)是一种异步通信协议,当数据帧包含校验位时,常见的校验方法有奇校验和偶校验。奇校验是确保数据位和校验位中“1”的个数为奇数,而偶校验则是确保数据位和校验位中“1”的个数为偶数。循环冗余校验(CRC)和纵向冗余校验(LRC)虽然也是校验方法,但通常用于其他通信场景,不是UART数据帧常用的校验方法。因此,答案为A、B。
22、下列选项所示程序运行后,整形变量Val的值为12的有?( )
A、
B、
C、
D、
解析:
A、B、C、D都是正确答案。
23、标准ASCII码共包含128个字符,其中控制字符和专用字符的码值为?( )
A、0~31
B、48~57
C、65~90
D、127
解析:
标准ASCII码中共有128个字符,其中控制字符和专用字符的码值为0到31,共包括一些如换行符、制表符等控制字符和一些特定用途的专用字符。因此,正确答案是A、D。
24、和Arduino UNO/Nano主控板相比,下列选项中,ESP32主控芯片所独有的外设是?( )
A、电容触摸传感器
B、蓝牙
C、DAC
D、霍尔传感器
解析:
电容触摸传感器、蓝牙、DAC、霍尔传感器都是独立外设。
25、ESP32 for Arduino,采用dacWrite()函数进行模拟输出,下列选项中,可实现DAC模拟输出功能的引脚有?( )
A、2
B、12
C、25
D、26
解析:
ESP32 for Arduino 采用 dacWrite() 函数进行模拟输出时,可实现 DAC 模拟输出功能的引脚包括 25 和 26。因此,正确答案是 C 和 D。
三、判断题
26、UART数据帧的起始位是低电平。( )
A 正确
B 错误
解析:
UART(通用异步收发器)数据帧的起始位通常是低电平,用于标识数据帧的开始。在UART通信中,起始位、数据位和停止位共同构成了数据帧。因此,该题目的陈述是正确的。
27、UART通信时,仅需将两设备间的TX和RX相互连接即可实现数据传送。( )
A 正确
B 错误
解析:
UART通信确实是通过TX(发送)和RX(接收)两个线路进行数据传送的。但是,仅仅连接这两个线路并不能实现通信,还需要正确的配置通信参数,如波特率、数据位、停止位和奇偶校验等。此外,还需要确保两个设备都正确识别并处理这些参数。因此,该说法是不准确的。
28、millis()函数返回自主控板通电起至当前的时间。( )
A 正确
B 错误
解析:
millis()函数返回的是从上一次复位后程序运行所经过的毫秒数,而非自主控板通电起至当前的时间。因此,该说法错误。
29、一个完整的按键动作,其抖动可分为前沿抖动和后沿抖动。( )
A 正确
B 错误
解析:
一个完整的按键动作,其抖动可分为前沿抖动和后沿抖动。这个说法是正确的。
30、ESP32主控板断电后,flash中保存的程序不会丢失。( )
A 正确
B 错误
解析:
ESP32主控板断电后,flash中保存的程序会丢失。因为Flash存储器是一种非易失性存储器,它的特点是即使断电后也能保存数据,但是在ESP32主控板中,程序是加载到RAM中的,RAM是一种易失性存储器,一旦断电,其中的数据就会丢失。因此,ESP32主控板断电后,flash中保存的程序会丢失。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!