STM32期末考试答案详解说课材料

上传人:雨水 文档编号:146054221 上传时间:2020-09-25 格式:PDF 页数:14 大小:24.20KB
返回 下载 相关 举报
STM32期末考试答案详解说课材料_第1页
第1页 / 共14页
STM32期末考试答案详解说课材料_第2页
第2页 / 共14页
STM32期末考试答案详解说课材料_第3页
第3页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《STM32期末考试答案详解说课材料》由会员分享,可在线阅读,更多相关《STM32期末考试答案详解说课材料(14页珍藏版)》请在金锄头文库上搜索。

1、资料收集于网络,如有侵权请联系网站删除 word 可编辑 简述嵌套向量中断控制器(NVIC )的主要特性。 答:STM32 的嵌套向量中断控制器(NVIC) 管理着包括Cortex-M3 核异常等中断, 其和 ARM 处理器核的接口紧密相连, 可以实现低延迟的中断处理,并有效地处理晚到的中断。STM32 嵌套向量中断控制器(NVIC)的主要特性如下: q 具有 43 个可屏蔽中断通道(不包含16 个 Cortex-M3 的中断线)。q 具有 16 个可编程的优先等级。q 可实 现低延迟的异常和中断处理。q 具有电源管理控制。q 系统控制寄存器的实现。 1简述 STM32 的 ADC系统的功能特

2、性。 答: STM32 的 ADC系统的主要功能特性包括如下几个方面:ADC开关控制、 ADC时钟、 ADC通道选择、 ADC 的转换模式、中断、模拟看门狗、ADC 的扫描模式、ADC 的注入通道管理、间断模式、ADC 的校准 模式、 ADC的数据对齐、 可编程的通道采样时间、外部触发转换、DMA 请求、 双 ADC模式和温度传感器。 2简述 STM32 的双 ADC工作模式。 答:在有两个ADC的 STM32 器件中,可以使用双ADC模式。在双ADC模式里,根据ADC_CR1寄存器中 DUALMOD2:0 位所选的模式,转换的启动可以是ADC1 主和 ADC2 从的交替触发或同时触发。双AD

3、C 工 作模式主要包括如下几种:同时注入模式、同时规则模式、快速交替模式、慢速交替模式、交替触发模 式和独立模式。 1简述 STM32 的 USART的功能特点。 、 答: STM32 的 USART为通用同步异步收发器,其可以与使用工业标准NRZ异步串行数据格式的外部设备 之间进行全双工数据交换。USART还可以利用分数波特率发生器提供宽范围的波特率选择。 STM32 的 USART支持同步单向通信和半双工单线通信。同时,其也支持LIN(局部互连网 ),智能卡协议和 IrDA(红外数据 )SIR ENDEC 规范,以及调制解调器(CTS/RTS) 操作。 STM32 还具备多处理器通信能力。

4、另外, 通过多缓冲器配置的DMA 方式,还可以实现高速数据通信。 1简述 STM32 的高级控制定时器TIM1 的结构。 答: STM32 提供了一个高级控制定时器(TIM1)。TIM1 由一个 16 位的自动装载计数器组成,它由一个可编 程预分频器驱动。TIM1 适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。使用定时器 预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。 高级控制定时器TIM1 和通用控制定时器TIMx 是完全独立的,它们不共享任何资源,因此可以同步操作。 2简述 STM32 时钟的类型。 答: STM32 提供了三种不同的

5、时钟源,其都可被用来驱动系统时钟SYSCLK ,这三种时钟源分别为:q HSI 振荡器时q HSE振荡器时钟q PLL时钟 这三种时钟源还可以有以下2 种二级时钟源: q 32kHz 低速内部RC , 可以用于驱动独立看门狗和RTC 。 其中,RTC用于从停机 /待机模式下自动唤醒系统。 q 32.768kHz 低速外部晶振也可用来驱动RTC(RTCCLK) 。 任一个时钟源都可被独立地启动或关闭,这样可以通过关闭不使用的时钟源来优化整个系统的功耗。 1简述 DMA 控制器的基本功能。 答: STM32 的 DMA 控制器有7 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的 请

6、求。还有一个仲裁器来协调各个DMA 请求的优先权。DMA 控制器和Cortex-M3 核共享系统数据线执 行直接存储器数据传输。因此,1 个 DMA 请求占用至少2 个周期的CPU 访问系统总线时间。为了保证 Cortex-M3 核的代码执行的最小带宽,DMA 控制器总是在2 个连续的DMA 请求间释放系统时钟至少1 个周期。 NVIC 和外部中断 :配置中断0(LED绿灯闪 1 次) ,中断 1(LED蓝灯闪 2 次) ,中断 2 三个中断( LED 绿灯闪 3 次) ,执行顺序为0-1-2 。 (默认中断0 闪烁的是绿灯)按下按键,绿灯闪(一亮一灭 )1 次,蓝灯闪2 次,然后绿灯闪3 次

7、, 资料收集于网络,如有侵权请联系网站删除 word 可编辑 中断结束。 #include stm32l1xx.h #include stdio.h #include discover_board.h #include stm32l_discovery_lcd.h #include stdarg.h /* Private function prototypes -*/ void RCC_Configuration(void); void Init_GPIOs (void); void Delay(uint32_t nTime); void USART_Configuration(void);

8、void EXTI_Configuration(void); void NVIC_Configuration(void); static volatile uint32_t TimingDelay; int main(void) /* Configure Clocks for Application need */ RCC_Configuration(); SysTick_Config(16000000/ 2000); NVIC_Configuration(); /* Init I/O ports */ Init_GPIOs(); USART_Configuration(); EXTI_Con

9、figuration(); / printf(rnWelcome !rn); while(1) / Delay(20); / printf(rnWelcome !rn); void RCC_Configuration(void) RCC_DeInit(); /* Enable HSI Clock */ RCC_HSICmd(ENABLE); /*! Wait till HSI is ready */ while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) = RESET) /* RCC_PLLCmd(DISABLE); RCC_PLLConfig(RCC_PLLSo

10、urce_HSI,RCC_PLLMul_3,RCC_PLLDiv_2); RCC_PLLCmd(ENABLE); */ /*! Wait till PLL is ready */ / while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET) / / RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI); 资料收集于网络,如有侵权请联系网站删除 word 可编辑 RCC_MSIRangeConfig(RCC_MSIRange_6); RCC_H

11、SEConfig(RCC_HSE_OFF); if(RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET ) while(1); /* Enable comparator clock LCD and PWR mngt */ /RCC_APB1PeriphClockCmd(RCC_APB1Periph_LCD | RCC_APB1Periph_PWR, ENABLE); /* Enable ADC clock void Init_GPIOs (void) GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIOs c

12、lock */ RCC_AHBPeriphClockCmd(LD_GPIO_PORT_CLK|USERBUTTON_GPIO_CLK, ENABLE); /* Configure User Button pin as input */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;/USERBUTTON_GPIO_PIN GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO

13、_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; GPIO_Init(USERBUTTON_GPIO_PORT, /* Configure the GPIO_LED pins LD3 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2M

14、Hz; GPIO_Init(LD_GPIO_PORT, /GPIO_LOW(LD_GPIO_PORT, LD_GREEN_GPIO_PIN); /GPIO_LOW(LD_GPIO_PORT, LD_BLUE_GPIO_PIN); /*Configure the USART1_GPIO_PORT */ /* Connect PA9 to USART1_Tx */ GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1); /* Connect PA10 to USART1_Rx*/ GPIO_PinAFConfig(GPIOA, GPIO_

15、PinSource10, GPIO_AF_USART1); /* Configure USART1_Tx and USART1_Rx as alternate function */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitS

16、tructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, /* Enable all GPIOs clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | 资料收集于网络,如有侵权请联系网站删除 word 可编辑 RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH, ENABLE); void USART_Configuration(void) USART_InitTypeDef USART_I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号