stm32嵌入式试题
    第一章、 为什么学习STM32
    STM32是一系列以ARM Cortex-M为内核的32位嵌入式微控制器。
    第二章、初识STM32库
    1.什么是启动文件?启动文件的作用是什么?具体实现了哪些功能? 启动文件是任何处理器在上电复位之后最先运行的一段汇编程序。在我们编写的c语言代码运行之前,需要由汇编为c语言的运行建立一个合适的环境,接下来才能运行我们的程序main函数。所以我们也要把启动文件添加进我们的的工程中去。
    ? 初始化堆栈指针SP; ? 初始化程序计数器指针PC; ? 设置堆、栈的大小; ? 设置异常向量表的入口地址; ? 配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM); ? 设置C库的分支入口__main(最终用来调用main函数); ? 在3.5版的启动文件还调用了在system_stm32f10x.c文件中的SystemIni()  函数配置系统时钟,在旧版本的工程中要用户进入main函数自己调用SystemIni()  函数。
嵌入式系统是什么意思    2.stm32f10x_it.c文件的作用是什么?
    stm32f10x_it.c是专门用来编写中断服务函数的,在我们修改前,这个文件已经定义了一些系统异常的接口,其它普通中断服务函数由我们自己添加。
    第四章、深入分析流水灯例程
    1.GPIO是什么意思?STM32芯片的GPIO引脚分成哪些组?每组的引脚的号码是什么范围? STM32芯片上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为GPIO (General-purpose I/O)。而GPIO引脚又被分为GPIOA、GPIOB……GPIOG不同的组,每组端口分为0~15,共16个不同的引脚
    2.ST库提供了GPIO输出高电平和低电平的函数,分别是什么函数? 用GPIO_SetBits()控制输出高电平,用GPIO_ResetBits()控制输出低电平。
    3.RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);这句代码实现的功能是什么? 实现开启外设GPIOC的时钟。
    4.下面三句代码,分别实现什么样的功能?(1)a&=~(1<<6);第7位清零,其他位保持不变(2)a|=(1<<6);第7位置1,其他位保持不变(3)a^=(1<<6);第7位取反,其他位保持不变
    第5章调试程序
    1.在调试STM32程序时,进行软件仿真和硬件调试,分别使用哪些软件或工具? 用MDK软件仿真,使用JLINK进行硬件调试
    第6章 GPIO按键实验 1. GPIO的8种工作模式
    输入模式:上拉输入和下拉输入模式,浮空输入模式,模拟输入模式, 输出模式:推挽输出模式,开漏输出模式,复用推挽输出,复用开漏输出
   
   
   
   
   
   
   
    2.对于图中的按键识别的电路图,引脚PE5应该设置成什么模式?如果没有电阻R4,应该设置成什么模式?在这种模式下,按键没有按下和按下的时候,PE5的电平分别是什么?
   
    图中的电路,设置成上拉输入模式或浮空输入模式都可以。如果没有电阻R4,需要设置成上拉输入模式。
    没有按键按下时,PE5的电平是高电平,有按键按下时,PE5的电平是低电平。
    3.这段代码是配置按键的代码,对这段代码的功能进行分析。 void Key_GPIO_Config(void) {  GPIO_InitTypeDef GPIO_InitStructure;  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);  (1)  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;    (2)  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;    (3)  GPIO_Init(GPIOE, &GPIO_InitStructure);    (4) }
    (1) 开启按键端口(PE5)的时钟 (2) 使用端口的引脚5
    (3) 端口的引脚使用上拉输入模式
    (4) 调用GPIO_Init()函数,对GPIOE进行初始化。
    4.GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)的作用是什么?返回值是什么?
    读取端口GPIOx的引脚GPIO_Pin的电平。当外部电平是高电平时,函数返回1;外部电平是低电平时,函数返回0.
    第7章 EXTI按键中断实验
    1.EXTI 是什么?在使用中的具体流程是什么?
    EXTI (External interrupt) 指外部中断,通过GPIO检测输入脉冲,引起中断事件,打断原来的代码执行流程,进入到中断服务函数中进行处理,处理完后,再返回到中断之前的代码中执行。
    2.介绍1下STM32的每个中断向量的关于优先级的2个属性的具体含义。
    STM32的每个中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表明它的优先级别越高。
    抢占属性:是指打断其它中断的属性,即因为具有这个属性,会出现嵌套中断(在执行中断服务函数A的过程中被中断B打断,执行完中断服务函数B再继续执行中断服务函数A),抢占属性由NVIC_IRQChannelPreemptionPriority的参数配置。
    响应属性:在抢占属性相同的情况下,当两个中断向量的抢占优先级相同时,如果两个中断同时到达,则先处理响应优先级高的中断,响应属性由NVIC_IRQChannelSubPriority的参数配置。
    3.假设STM32配置了三个中断向量,其属性如下。那么STM32在响应中断时,中断A能否打断中断C的中断服务函数?中断B能否打断中断C?如果中断B和中断C中断同时到达,响应哪个中断? 中断向量 A B C 抢占优先级 响应优先级 0 1 1 0 0 1 答:若内核正在执行C的中断服务函数,则它能被抢占优先级更高的中断A打断,而由于B和C的抢占优先级相同,所以C不能被B打断。但如果B和C中断是同时到达的,内核就会首先响应响应优先级别更高的B中断。
    4.EXTI中断根据外部信号的波形的特点,可以配置为哪3种触发类型?  EXTI中断可以配置为上升沿触发,下降沿触发或双边沿触发。
    5.每次中断触发后,都会产生标志位,所以在进入中断时可检查相应的中断标志位,而退出中断时,必须清除中断标志,否则系统会持续进入中断。实现这2个功能的函数是什么? 分别通过调用库函数EXTI_GetITStatus() 和EXTI_ClearITPendingBit() 来实现。(无s) USART_GetFlagStatus(USART1,USART_FLAG_TC) TIM__GetITStatus(TIM,TIM__IT_Update)
    TIM__ ClearITPendingBit(TIM,TIM__IT_Update)
    第8章串口通讯
    1.波特率的含义和速度单位是什么?
   
   
          感谢您的阅读,祝您生活愉快。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。