STM32复习题知识讲解

发布时间 : 星期一 文章STM32复习题知识讲解更新完毕开始阅读

精品文档

4、STM32F1系列GPIO初始化时语句RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,

ENABLE);的作用是 。 5、APB1是 总线。

6、部分重映射是指功能外设的部分引脚重新映射,还有一部分引脚使用 引

脚。

7、STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有 级可编程

的中断优先级。

8、当某两个中断的PreemptionPriority和SubPriority完全相同且都已触发,STM32

优先响应 中断。

9、串行通讯方式有SPI,IIC,UART,WIFI,BLE,ZIGBEE,WIFI,CAN等,其中 既常用

作芯片之间的通信也觉见于设备之间的通信。

10、STM32的USART配置时需要定义的参数包括:起始位,数据位,奇偶校验位,停

止位和 。

11、语句USART_SendData()执行后,数据移入到 寄存器。

12、STM32系列MCU的USART数据收发可以采用查询方式、中断方式和 。 13、为提高Cortex内核的使用效率,STM32的外设一般都可以使用 功能来进行数

据收发操作。

14、每个外部中断线的触发方式可配置为上升沿触发、下降沿触发和 触发。 15、STM32的中断线16连接到 事件,可以设置为边沿触发方式,以实现对VDD

电压的监测,当出现异常时处理一些紧急任务。

16、STM32的所有IO口的外部中断,在中断向量表中只分配了 个中断向量。 17、标准库函数中,函数名下划线前为 的英文缩写。 18、STM32的IWDG由 时钟驱动,独立于主程序之外。

19、STM32的 看门狗,喂狗时间既不能过早,也不能过迟。

20、可以使用STM32的高级定时器或通用定时器的 功能来测量输入信号脉冲的长

度,计算其周期和占空比;使用其输出比较功能来输出波形。 21、STM32的定时器是 位定时器。

22、TIM_TimeBaseInit()函数的功能是 。

23、STM32的ADC是 位逐次逼近型模拟数字转换器。

24、STM32最多支持3个独立ADC,但若要采集内部温度传感器数据,只能使用

25、STM32的ADC规则通道组最多运行16个通道的数据采集,注入通道组最多支持

个通道组的数据采集。

26、STM32F1xx系列ADC的时钟配置时最大为 MHz。

27、I2C总线进行数据传送时,只有在时钟线上的信号为 电平期间,数据线上电

平状态才允许变化。

28、I2C总线空闲的时候,SDA和SCL两条信号线处于 电平。

29、ISO11898标准规定,CAN显示电平表示逻辑 ,隐性电平表示逻辑1。 30、CAN总线的起止端一般都有一个终端电阻,来做阻抗匹配,以减少 。 31、CAN通讯时,用于发送单元向接收单元传送数据的帧叫 。

32、CAN通讯的 用于当总线上发生持续数据错误时,可将引起此故障的单

元从总线上隔离出去。

33、CAN通讯时,当多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进

行仲裁。连续输出 电平最多的单元可继续发送。

收集于网络,如有侵权请联系管理员删除

精品文档

34、μcos的多个任务靠 组成了一个任务链表。

35、μcos创建任务前必须指定任务侁先级,实现任务代码,并为任务分配 。

四、 问答题

1、 什么叫嵌入式系统?

2、 解释端口复用,端口重映射,有什么作用?

3、 结合STM32F1系列USART1为例,若将其TX,RX从默认PA9、PA10重映射到PB6、P

B7上,简述其引脚配置步骤。

4、 STM32有5个时钟源,请写出其英文缩写和英文全称。

5、 试闸述抢占式优先级(PreemptionPriority)和响应优先级(SubPriority)的区别。 6、 若通过定时器的PWM功能,来调整LED灯的亮度,实现亮度由暗变亮,又由亮变

暗,也就是常说的呼吸灯功能,试闸述其实现步骤。

五、 综合题

1、 如图所示为某实际工程中STM32F0的时钟系统配置

问:该工程采用 驱动系统时钟,系统选用 为SYSCLK,外设时钟频率为 MHz,独立看门狗的时钟为 KHz,PLL输入时钟为 MHz。

2、 某工程中,SPI器件接口时序图如下图所示,试使用标准库函数完成SPI主设备的

初始化程序。

收集于网络,如有侵权请联系管理员删除

精品文档

static void SPI2_Init(void) { SPI_InitTypeDef SPI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //PA15:RST PB12:DC PB13:CLK:D0 PB15:data:D1 (RCC_APB1Periph_SPI2,ENABLE); SPI2_GpioInit(); SPI_I2S_DeInit(SPI2); SPI_InitStructure.SPI_Direction = ; //全双工模式

SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //作为主机使用 SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //数据长度8 SPI_InitStructure.SPI_CPOL = ; SPI_InitStructure.SPI_CPHA = ; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;

SPI_InitStructure.SPI_BaudRatePrescaler =SPI_BaudRatePrescaler_16;//480Kbps SPI_InitStructure.SPI_FirstBit = ; SPI_InitStructure.SPI_CRCPolynomial = 0; SPI_Init(SPI2,&SPI_InitStructure); SPI_Cmd(SPI2,ENABLE); /* Configure the SPI interrupt priority */ NVIC_InitStructure.NVIC_IRQChannel = SPI2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);

收集于网络,如有侵权请联系管理员删除

精品文档

}

/* Enable the Rx buffer not empty interrupt */ SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_RXNE, ENABLE); // /* Enable the Tx buffer empty interrupt */ SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, DISABLE); SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_OVR, DISABLE); SPI_I2S_ClearFlag(SPI2,SPI_I2S_FLAG_TXE); SPI_I2S_ClearFlag(SPI2,SPI_I2S_FLAG_RXNE);

SPI_I2S_ClearITPendingBit(SPI2,SPI_I2S_IT_TXE); SPI_I2S_ClearITPendingBit(SPI2,SPI_I2S_IT_RXNE);

3、 以下程序使用HAL库,使用STM32F030单片机实现的串口通讯程序,试阅读程

序,回答问题。/* USART1 init function */

static void MX_USART1_UART_Init(void) {

huart1.Instance = USART1; huart1.Init.BaudRate = 9600;

huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX;

huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16;

huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; if (HAL_UART_Init(&huart1) != HAL_OK) {

_Error_Handler(__FILE__, __LINE__); } } ……

__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);//打开空闲中断 __HAL_UART_DISABLE_IT(&huart1,UART_IT_RXNE); __HAL_UART_DISABLE_IT(&huart1,UART_IT_TXE); HAL_UART_Receive_DMA(&huart1, Uart1Data.uart1Rxbuf, Uart_DataRxLength);//打开空闲中断,初始化DMA接收

该初始化程序指定的波特率、数据位、校验位和停止位分别是 。 该程序使用什么方式接收数据? 打开空闲中断的目的是什么?

4、 以下程序使用的单片机(STM32F205RG,SYSCLK配置为120MHz)定时器2(APB1为60

MHz)的初始化程序,试阅读程序,回答问题。

static void TIM2_Config(u32 HZ,float Ratio)// PWM { uint32_t ARR; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

收集于网络,如有侵权请联系管理员删除

联系合同范文客服:xxxxx#qq.com(#替换为@)