更新日志
版本号 |
更新内容 |
更新日期 |
备注 |
V1.0 |
完成初稿 |
2021.12.26 |
1)在STM32系列微控制器中,可以作为主时钟MCO输出的时钟源是()。
A.HSI
B.HSE
C.SYSCLK
D.HSE/2
【解答】MCO是STM32可以通过GPIO输出时钟信号,这个时钟来源于STM32内部,可以是PLLCLK/2、 HSI、 HSE、 SYSCLK。
2)三态门的输出状态包括( )。
A.高电平
B.低电平
C.模拟输出
D.高阻态
【解答】三态门是指逻辑门的输出有三种状态:高电平状态、低电平状态、高阻状态。其中,高阻状态相当于隔离状态(因为高阻状态电阻很大,相当于开路)。
3)下列表达式中与电路图相符的是()
A.Y=A+B+C
B.Y=C·(A+B)
C.Y=A·B·C
D.Y=A·B+C
【解答】此电路图为逻辑门中的或门。选A。
4)下列语句中,可以实现STM32 微控制器PA0 引脚状态翻转的是( )。
A.GPIOA->ODR^=1
B.GPIOA->BSRR&=~1
C.GPIOA->BRR|=1
D.GPIOA->BSRR|=1
【解答】GPIO的 3个 管脚控制寄存器:
ODR寄存器:控制管脚的高、低电平,低16位有效,写1高电平,写0低电平;
BSRR寄存器:控制管脚的高、低电平,32位有效,低16位写1高电平,高16位写1低电平;
BRR寄存器:控制管脚的低电平,低16位有效,写1低电平。
特别的: F1和F4系列都有ODR和BSRR,但F4取消了BRR。所以为了代码通用,尽量不使用BRR,反正BSRR能完成。
ODR、BSRR的使用区别:
你应该有过和我一样的疑问:ODR寄存器只用低16位,就能控制引脚的高、低电平,还能读寄存器的值,用以判断引脚电平状态;那么, 为什么要存在一个BSRR! 还分高、低16位! 还不能读寄存器的值!
例如: PB1要设高电平, PB11设低电平;注意看注释
// 通过 ODR 寄存器
GPIOB->ODR|=0X01;//代码是一行, 但背后的运行是很多步:读取->或运算->写入
GPIOB->ODR&=~(0X01<<11);//同样是:读取->或运算->写入
// 通过 BSRR 寄存器
GPIOB->BSRR=0X01;//某个位直接置1,OK, 搞定了。其它没置1的位不产生变化。
GPIOB->BSRR=0X01<<11;// 同上。
5)下列关于USB 的说法中正确的是( )。
A.是一种串行通信方式。
B.能够支持热插拔、即插即用。
C.通信速度比RS232快。
D.级联星型拓扑结构,分为主机(host)、集线器(hub)和设备(device)。
【解答】USB,即Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM等多家公司联合提出的。USB的速度是不断提升的,比RS232快。最新一代是USB 3.1,传输速度为10Gbit/s。USB系统采用级联星型拓扑,该拓扑由三个基本部分组成:主机(Host),集线器(Hub)和功能设备(device)。
6)STM32微控制器的DMA通道可以连接的外设包括( )。
A.I2C1
B.USART1
C.USART2
D.TIM1
【解答】STM32微控制器的DMA(直接存储器访问)通道可以连接多种外设,具体取决于所使用的具体型号和系列。以下是一些常见的外设,可以通过DMA通道进行连接:SPI(串行外设接口):用于与外部SPI设备进行通信,如SPI Flash、SPI LCD等。I2C(串行外设接口):用于与外部I2C设备进行通信,如I2C EEPROM、I2C温度传感器等。UART(通用异步收发器):用于与外部串口设备进行通信,如串口GPS模块、蓝牙模块等。ADC(模数转换器):用于采集模拟信号,可以通过DMA通道将采样数据直接传输到内存中。DAC(数模转换器):用于输出模拟信号,可以通过DMA通道将数据直接传输到DAC寄存器。Timer/Counter(定时器/计数器):用于定时和计数应用,可以通过DMA通道传输计数值或触发事件。SDIO(安全数字输入输出接口):用于与SD卡进行数据交互,可以通过DMA通道实现高速数据传输。
7)由理想运算放大器构成的电路如下图所示,其输出电压Uo为( )。
A.1V
B.2V
C.-2V
D.3V
【解答】由上图可知,运放2的5号脚为1V,运放3的10号脚为2V,利用虚短虚断,可知,运放2的6号脚为1V,运放3的9号脚为2V,所以电阻R2的压差是1V,电流从运放3的9号脚流向运放2的7号脚,电流大小为1V/1K=1mA。所以电阻的R4的压差也是1V(1mA*1K)。注意:运放3的8号脚比运放3的9号脚电压高,因为电流是运放3的9号流向运放2的7号脚,所以流经R4的电流是运放3的8号脚流向运放3的9号。所以Uo=3V。
8)下列属于差分方式传输的选项是( )。
A.USB
B.RS232
C.RS485
D.1-Wire
【解答】
RS-485:一种常用的差分信号标准,用于在远距离通信中传输数据,例如工业自动化领域。
RS-422:与RS-485类似,也是一种差分信号标准,用于远距离高速数据传输。
LVDS(低压差分信号):一种常用的差分信号标准,通常用于高速数据传输接口。
USB(通用串行总线):USB 2.0和USB 3.0标准中使用了差分信号传输。
HDMI(高清多媒体接口):HDMI接口使用差分信号传输视频和音频信号。
Ethernet(以太网):以太网标准中使用差分信号传输数据,用于计算机网络通信。
SATA(串行ATA):SATA接口使用差分信号,用于连接硬盘驱动器和光盘驱动器等存储设备。
9)全双工串行通信是指( )。
A.设计有数据发送和数据接收引脚。
B.发送与接收不互相制约。
C.设计有两条数据传输线。
D.通讯模式和速度可编程、可配置。
【解答】全双工串行通信是值发送接收可以同时运行切相互不影响。
10)下列选项中,属于STM32 内核级外设的是( )。
A.TIM1
B.SysTick
C.NVIC
D.EXTI
【解答】STM32微控制器提供了多个内核级外设,这些外设嵌入在微控制器的内核中,可以直接通过内核访问和控制。这些内核级外设提供了丰富的功能和硬件支持,可以满足不同应用的需求。在开发STM32应用时,可以充分利用这些内核级外设来简化开发流程、提高性能和功能扩展能力。具体可用的内核级外设会根据不同的STM32型号和系列而有所差异,因此在具体开发中需要参考相关的芯片手册和参考资料。以下是一些常见的STM32内核级外设:
1. NVIC(Nested Vectored Interrupt Controller):中断控制器,用于管理和分配中断优先级、处理中断请求和中断服务程序的执行。
2. SysTick:系统定时器,提供了一个可编程的定时器,可用于生成周期性的中断或实现精确的定时操作。
3. MPU(Memory Protection Unit):内存保护单元,用于实现内存区域的访问权限控制和保护,提高系统的安全性和可靠性。
4. FPU(Floating Point Unit):浮点运算单元,提供了硬件加速的浮点运算能力,用于高精度的浮点计算。
5. DMA(Direct Memory Access):直接存储器访问控制器,用于实现高速数据传输,通过配置DMA通道,可以实现数据在外设和内存之间的直接传输,减轻CPU的负担。
6. MPU(Memory Protection Unit):内存保护单元,用于实现内存区域的访问权限控制和保护,提高系统的安全性和可靠性。
7. RTC(Real-Time Clock):实时时钟,提供了实时时钟和日历功能,用于记录时间和日期,支持定时和闹钟功能。
8. PWR(Power Control):电源控制模块,用于管理系统的电源状态,包括低功耗模式、待机模式和唤醒功能等。