基于stm32的考试题目 下载本文

器访问的请求。还有一个 仲裁器 来协调各个DMA 请求的优先权。

39.在DMA处理时,一个事件发生后,外设发送一个请求信号到 DMA控制器 。DMA 控制器根据通道的 优先权 处理请求。

40.DMA控制器的每个通道都可以在有固定地址的 外设寄存器和 存储器地址 之间执行DMA传输。DMA传输的数据量是可编程的,可以通过 DMA_CCRX 寄存器中的 PSIZE 和 MSIZE 位编程。

41.ST公司还提供了完善的DMA接口库函数,其位于 stm32f10x_dma.c ,对应的头文件为 stm32f10x_dma.h 。

45.在STM32中,从外设(TIMx、ADC、SPIx、I2Cx 和USARTx)产生的7个请求,通过逻辑 与 输入到DMA控制器,这样同时 只能有一个 个请求有效。

四、简答题

1、什么是嵌入式系统?嵌入式系统一般由哪几部分构成? P1 2、ARM v7的体系结构可以分为哪几个子版本(款式),分别应用在什么领域? P12 3、Cortex-M3的处理器有那两种工作模式和状态?如何进行工作模式和状态的切换?P18 4、Cortex-M3的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?P26 5、什么是位绑定区、位绑定别名区?它们有怎样的关系?P30~31

6、基于CMSIS标准的软件架构分为那几层?其中的CMSIS层一般由哪几部分组成?P66 7、简述STM32固件库命名规则。 8、STM32共有那几种基本时钟信号? 9、简述设置系统时钟的基本流程。P86

10、STM32的GPIO的配置模式有那几种?如何进行配置模式的配置?P93 11、简述STM32的不同复用功能的重映射功能。

12、简述嵌套向量中断控制器(NVIC)的主要特性。P38 13、简述STM32的优先级划分与抢占的过程。P110 14、简述STM32的USART的功能特点。 15、如何设置STM32的串口的波特率。P136 16、STM32高级定时器有哪些功能?

17、已知STM32的系统时钟为72MHz,如何设置相关寄存器,实现20ms定时? 18、简述DMA控制器的基本功能。 19、、请描述DMA通道的工作模式、工作原理。 20、简述STM32的ADC系统的功能特性。 21、简述STM32的双ADC工作模式。

五、编程与应用题

1、在一个STM32点亮LED的程序中,部分代码如下:

void GPIO_Configuration(void) {

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); } …

while (1) { /*循环点亮LED*/

- 11 -

GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x01); //① Delay(0XFFFFF); GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x00); //② Delay(0XFFFFF); GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x01); //③ Delay(0XFFFFF); GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x00); //④ Delay(0XFFFFF); }

(1)简述GPIO_Configuration函数对IO接口配置的步骤; 解:设置引脚、设置速率、设置模式

(2)分析该程序,LED分别连接在哪些IO引脚上,当引脚输出高电平时,是点亮还是熄灭LED? 解:点亮

(3)分析循环点亮LED代码,补充相应的注释。

解:点亮连接的PA2上的LED灯、熄灭.....、点亮连接PA3上的LED、熄灭......

(4)库函数GPIO_SetBits和GPIO_ResetBits的原形如下,用这两个函数重写循环点亮LED代码。第五章P107方法5

2、利用STM32的GPIO接口及其操作,实现4个LED按照LED1、LED2、LED3、LED4的顺序循环显示。硬件连接图如图所示。

解:参照第一题

3、已知系统时钟为72MHz,采用定时器TIM1产生周期为100ms的定时时间间隔并通过LED发光二极管指示定时过程。P156 P161 2~4步

解:T=

4、下面的程序利用TIM3产生PWM信号。

频率:TIM3CLK = 36MHz,Prescaler = 0x0,得到TIM3 counter clock = 36MHz。TIM3 ARR Register = 999,进而设定TIM3频率 = TIM3 counter clock/(ARR + 1)= 36kHz。 TIM3通道1的占空比 =(TIM3_CCR1/ TIM3_ARR×100 = 50%,通道2、3、4的占空 比分别是37.5%、25%、12.5%。

解:不考

最全ASCII码对照表

- 12 -

Bin Dec Hex 缩写/字符 解释 0000 0000 0 00 NUL (null) 空字符 0000 0001 1 01 SOH (start of handing) 标题开始 0000 0010 2 02 STX (start of text) 正文开始 0000 0011 3 03 ETX (end of text) 正文结束 0000 0100 4 04 EOT (end of transmission) 传输结束 0000 0101 5 05 ENQ (enquiry) 请求 0000 0110 6 06 ACK (acknowledge) 收到通知 0000 0111 7 07 BEL (bell) 响铃 0000 1000 0000 1001 0000 1010 0000 1011 0000 1100 0000 1101 0000 1110 0000 1111 0001 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 0101 0001 0110 0001 0111 0001 1000 0001 1001 0001 1010 0001 1011 0001 1100 0001 1101 0001 1110 0001 1111

0010 0000 0010 0001 0010 0010 0010 0011 0010 0100 0010 0101 0010 0110 0010 0111 0010 1000 0010 1001 0010 1010 0010 1011

8 08 9 09 10 0A 11 0B 12 0C 13 0D 14 0E 15 0F 16 10 17 11 18 12 19 13 20 14 21 15 22 16 23 17 24 18 25 19 26 1A 27 1B 28 1C 29 1D 30 1E 31 1F 32 20 33 21 34 22 35 23 36 24 37 25 38 26 39 27 40 28 41 29 42 2A 43 2B BS (backspace) HT (horizontal tab) LF (NL line feed, new line) VT (vertical tab) FF (NP form feed, new page) CR (carriage return) SO (shift out) SI (shift in) DLE (data link escape) DC1 (device control 1) DC2 (device control 2) DC3 (device control 3) DC4 (device control 4) NAK (negative acknowledge) SYN (synchronous idle) ETB (end of trans. block) CAN (cancel) EM (end of medium) SUB (substitute) ESC (escape) FS (file separator) GS (group separator) RS (record separator) US (unit separator) 空格 ! \ # $ % & \ ( ) * +

退格 水平制表符 换行键 垂直制表符 换页键 回车键 不用切换 启用切换 数据链路转义设备控制1 设备控制2 设备控制3 设备控制4 拒绝接收 同步空闲 传输块结束 取消 介质中断 替补 溢出 文件分割符 分组符 记录分离符 单元分隔符 - 13 -

0010 1100 44 2C , 0010 1101 45 2D - 0010 1110 46 2E . 0010 1111 47 2F / 0011 0000 48 30 0 0011 0001 49 31 1 0011 0010 50 32 2 0011 0011 51 33 3 0011 0100 52 34 4 0011 0101 0011 0110 0011 0111 0011 1000 0011 1001 0011 1010 0011 1011 0011 1100 0011 1101 0011 1110 0011 1111 0100 0000

0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101 0100 1110 0100 1111 0101 0000 0101 0001 0101 0010 0101 0011 0101 0100 0101 0101 0101 0110 0101 0111 0101 1000 - 14 -

53 35 54 36 55 37 56 38 57 39 58 3A 59 3B 60 3C 61 3D 62 3E 63 3F 64 40 65 41 66 42 67 43 68 44 69 45 70 46 71 47 72 48 73 49 74 4A 75 4B 76 4C 77 4D 78 4E 79 4F 80 50 81 51 82 52 83 53 84 54 85 55 86 56 87 57 88 58 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X

0101 1001 89 59 Y 0101 1010 90 5A Z 0101 1011 91 5B [ 0101 1100 92 5C \\ 0101 1101 93 5D ] 0101 1110 94 5E ^ 0101 1111 95 5F _ 0110 0000 96 60 `

0110 0001 97 61 0110 0010 98 62 0110 0011 99 63 0110 0100 100 64 0110 0101 101 65 0110 0110 102 66 0110 0111 103 67 0110 1000 104 68 0110 1001 105 69 0110 1010 106 6A 0110 1011 107 6B 0110 1100 108 6C 0110 1101 109 6D 0110 1110 110 6E 0110 1111 111 6F 0111 0000 112 70 0111 0001 113 71 0111 0010 114 72 0111 0011 115 73 0111 0100 116 74 0111 0101 117 75 0111 0110 118 76 0111 0111 119 77 0111 1000 120 78 0111 1001 121 79 0111 1010 122 7A 0111 1011 123 7B 0111 1100 124 7C 0111 1101 125 7D 0111 1110 126 7E

0111 1111 127 7F ESC键 VK_ESCAPE (27) 回车键: VK_RETURN (13) TAB键: VK_TAB (9) Caps Lock键: VK_CAPITAL (20) Shift键: VK_SHIFT ()

a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL (delete) 删除- 15 -