STM32物联网试题

BABAD BDCCC CDDCD BADAB

STM32物联网试题(时间:60分钟)

一、单项选择题(每题2分,共40分)

  1. ARM Cortex-M0是____指令集。                                  (B)

[A] ARM 指令集  [B] Thumb指令集

 

2.ARM Cortex-M0处理器有__种工作模式                 (A)

[A] 2    [B] 4      [C] 8

 

3.以下对NVIC中断向量控制器说法正确的是?             (B )

[A]可以管理外部和内部的中断来临,必要的时候可以屏蔽不必要发生的中断。

[B]NVIC不支持高优先级中断嵌套低优先级中断

[C] 当一个中断正在执行时,另一个中断来临,NVIC会暂停正在执行的中断转而执行刚到来的中断服务例程。

[D] 中断的优先级是固定的,NVIC不可以改变其中断优先级。

 

  1. STM32 GPIO控制LED亮灭,采用_____工作模式                     (A)

[A] 推挽输出  [B] 开漏输出   [C]上拉输入   [D] 下拉输入

 

  1. STM32 GPIO轮询监测按键状态时,采用_____工作模式。 (D)

 

[A] 中断输入  [B] 上拉输入   [C]下拉输入   [D] 悬浮输入

 

  1. Printf重定向到串口,需要用到_____C库接口                       (B )

[A] fgetc  [B] fputc

 

  1. STM32F051有_____种时钟源 (D )

[A] 1   [B] 2    [C ] 3    [D ] 4

 

 

  1. HAL_UART函数接口输入输出操作有____种模式。                   (C )

[A] 1  [B] 2    [C ] 3

 

  1. DMA控制器有几种传输方式。                                    (C)

[A]1  [B] 2    [C ]3

 

  1. ADC控制器有____种采集模式。                                   (C)

[A]1  [B]3    [C]5

  1. Systick定时器装载寄存器是_____位                    ( C)

[A] 8  [B] 16    [C ] 24   [D ] 32

 

  1. SPI总线一般需要____路GPIO口。                                  (D)

[A] 1   [B] 2    [C ] 3 [D ] 4

 

  1. SPI总线有____种通信模式。                                        (D)

[A] 1     [B] 2      [C ] 3   [D ] 4

 

  1. RGB16位真彩色,表示LCD显示____种颜色。                        (C)

[A] 16.7M    [B] 256K  [C]65K

 

  1. 实现不定长度接收字符串我们一般采用UART的___模式。 (D )

[A] 轮询 [B] DMA中断   [C ] 接收中断  [D]空闲中断

 

  1. scanf重定向到串口中一般使用_____接口。 (B )

[A] fputc [B]fgetc

 

  1. 判断软件定时器是否到达,实质是判断        。                        (A)

[A] 当前时间片与设定开始时间片的差值是否大于等于定时值

[B] 当前时间片是否小于开始时间片

[C] 当前时间片是否等于定时值

[D] 当前时间片与设定时间片的差值是否大于定时值

 

  1. 编写多任务逻辑程序,一般使用()延时      ( D)

[A] 毫秒  [B]微秒    [C ] 硬  [D]软

 

  1. 本课程中,通过STM32单片机驱动NB模组采用的___方法。(A )

[A] 串口透传 [B] 串口DMA  [C ]串口中断

 

  1. 火焰传感器输出信号,是_____接口。                             (B)

[A] 数字量  [B] 模拟量

 

 

二、简答题(每道题10分,共30分)

1. 简述SPI的四种通信模式(10分)

在SPI操作中,最重要的两项设置就是时钟极性(CPOL)和时钟相位(CPHA)这两项即是主从设备间数据采样的约定方式。

时钟极性CPOL : 设置时钟空闲时的电平

当CPOL = 0 ,SCK引脚在空闲状态保持低电平;

当CPOL = 1 ,SCK引脚在空闲状态保持高电平。

时钟相位CPHA :设置数据采样时的时钟沿

当 CPHA=0 时,MOSI或 MISO 数据线上的信号将会在 SCK时钟线的奇数边沿被采样

当 CPHA=1时, MOSI或 MISO 数据线上的信号将会在 SCK时钟线的偶数边沿被采样

 

  1. 简述完成点灯功能,我们要做哪些事情?(10分)

答:

1.分析原理图

2.STM32cubemx配置GPIO工作模式

3.在main.c调用HAL库GPIO写接口进行实现

 

  1. 简述五种ADC采集模式,EOC和EOS的概念。(10分)

 

  • 单通道单次
  • 单通道多次
  • 多通道单次
  • 多通道多次
  • 间隔采集

EOC:通道转换完成

EOS:序列转换完成

三、编程题(每道题10分,共30分)

  1. 请用代码实现printf重定向串口1功能。(10分)

答:

答:

int fputc(int ch,FILE *f){

while(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_TXE) == RESET){}

huart1.Instance->TDR = ch;

return ch;

}

 

 

 

  1. 请用代码实现,用DMA实现串口不定长度接收回显功能(10分)

注:用汉语表示代码逻辑得4分,满分10分

答:

Main.c

__HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE);

HAL_UART_Receive_DMA(&huart1,u8UsartRx,128);

Stm32f0xx_it.c

if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE) == SET){

__HAL_UART_CLEAR_IDLEFLAG(&huart1);

HAL_UART_DMAStop(&huart1);

u16DmaSize = 128 – huart1.hdmarx->Instance->CNDTR;

HAL_UART_Transmit(&huart1,u8UsartRx,u16DmaSize,100);

HAL_UART_Receive_DMA(&huart1,u8UsartRx,128);

}

 

  1. 请用代码实现软件定时器功能?(10分)

typedef struct

{

uint32_t TimeStart;//软件定时器的开启时间

uint32_t TimeInter;//软件定时器的延时间隔

 

}tsTimeType;

//软件定时器启动

void SetTime(tsTimeType *TimeType,uint32_t TimeInter)

{

​ //把当前systick节拍值赋值软件定时器开启时间

​ TimeType->TimeStart = HAL_GetTick();

​ //把延时间隔进行赋值

​ TimeType->TimeInter = TimeInter;

}

uint8_t  CompareTime(tsTimeType *TimeType)

{

​ //比较当前的systicK节拍值,是否大于等于要延时的时间,如果大于返回真

​ return ((HAL_GetTick()-TimeType->TimeStart) >= TimeType->TimeInter);

}

 

优质网络资源共享平台
TY技术资源 » STM32物联网试题

发表评论

本站总访问量 本站访客数 本页面加载共:84 次查询 | 用时 0.106 秒 | 消耗 6.19MB 内存

© 2018 tyit.ltd& WordPress Theme. All rights reserved 鲁ICP备19064602号