ARM原理及应用复习题附答案Word文档下载推荐.docx
《ARM原理及应用复习题附答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ARM原理及应用复习题附答案Word文档下载推荐.docx(11页珍藏版)》请在冰点文库上搜索。
12.STM32系列ARMCortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。
简答题
1.什么是嵌入式系统?
嵌入式系统一般由哪几部分构成?
它与通用计算机有何区别?
答:
是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。
//它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。
//嵌入式系统通常执行的是带有特定要求的预先定义的任务,强调控制能力与控制的可靠性;
而通用计算机则可以通过安装各种软件执行各种不同的任务,强调高速、海量的数值计算。
2.ARMCortex-M3有何特点?
采用哈佛结构的32位处理器内核,具有高性能、实时功能、数字信号处理、低功耗与低电压操作特性,同时还保持了集成度高和易于开发的特点。
3.简述Cortex-M3系统滴答定时器的功能和作用。
功能:
给操作系统提供一个硬件上的中断作为整个系统的时基
作用:
1.产生操作系统的时钟节拍;
2.便于不同处理器之间程序移植;
3.当作计时器测量时间。
4.STM32共有那几种基本时钟信号?
5种
HSI:
高速内部时钟信号;
HSE:
高速外部时钟信号;
LSI:
低速内部时钟信号;
LSE:
低速外部时钟信号;
PLL:
锁相环倍频输出。
5.简述嵌套向量中断控制器(NVIC)的主要特性。
支持嵌套和向量中断
43个可屏蔽中断通道;
16个可编程的优先等级;
低延迟的异常和中断处理;
电源管理控制;
系统控制寄存器的实现;
6.简述STM32上机调试操作步骤。
(1)启动STM32开发平台程序;
(2)编写程序源代码,编译代码;
(3)用仿真器连接硬件烧录程序,进行debug,观察硬件是否按照预期工作;
(4)如非正常工作,检查程序代码是否存在错误,再检查硬件系统是否有损坏,直至系统工作正常。
7.简述STM32中USART功能特点。
STM32的USART为通用同步异步收发器,支持同步单线通信和半双工单线通信,可利用分数波特率发生器提供宽范围的波特率选择。
还支持LIN,智能卡协议和IrDA红外通信,以及调制解调器等操作,还具有DMA。
8.简述STM32中SPI功能特点。
SPI即串行设备接口,STM32的SPI可以实现主设备或从设备协议,当配置为主设备时,SPI可以连接多达16个独立从设备,收发数据寄存器的宽度可配置为8位或16位。
通过SPI可以实现读写SD卡,控制触摸屏等功能。
9.简述STM32中TIM功能特点。
STM32提供了高级控制定时器TIM1/8,通用定时器TIM2~5,基本定时器TIM6/7。
这几个定时器都是由可编程预分频器驱动的16位自动装载计数器构成。
它们都可以做一些基本的定时,还可以做PWM输出或者输入捕获。
除此之外,高级控制定时器具有刹车输入,互补输出和重复次数计数器功能,基本定时器具有触发DAC同步电路的功能。
10.简述STM32中ADC功能特点。
STM32ADC是12位逐次比较型ADC,有18个通道,可测量16个外部、2个内部信号源。
各通道的A/D转换可以单次、连续、扫描或间断模式执行。
ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阈值。
12.Cortex-M3的处理器有那两种工作模式和状态?
如何进行工作模式和状态的切换?
工作模式:
1.线程模式;
2.处理模式
处理器复位或异常退出时为线程模式,出现异常时进入处理模式。
工作状态:
1.Thumb状态;
2.调试状态
正常执行16位和32位的Thumb和Thumb-2指令时进入Thumb状态,调试时进入调试状态。
13.简述STM32的不同复用功能的重映射功能。
STM32有很多的内置外设,这些内置外设都是与I/O口共用引出引脚,通过相应的配置,很多复用功能的引脚可以通过重映射,从不同的I/O管脚引出。
既方便了用户进行PCB设计,还可以虚拟地增加复用功能的数量
14.简述STM32中I2C功能特点。
I2C是两线式串行总线,用于实现主/从设备间的多主串行通信。
总线上的每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器。
它是一个真正的多主机总线,具有仲裁功能,总线上连接器件的数量只受总线最大电容的限制,有标准和快速两种模式。
15.STM32高级定时器有哪些功能?
高级定时器TIM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。
使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。
16.如何设置STM32的串口的波特率。
USARTx->
BRR=
17.Cortex-M3的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?
内核设备:
0xE0000000-0xE00FFFFF(1MB)
片上设备:
0x40000000-0x5FFFFFFF(512MB)
SRAM:
0x20000000-0x3FFFFFFF(512MB)
Flash:
0x00000000-0x1FFFFFFF(512MB)
18.STM32的GPIO的配置模式有那几种?
如何进行配置模式的配置?
8种
1.GPIO_Mode_AIN模拟输入
2.GPIO_Mode_IN_FLOATING浮空输入
3.GPIO_Mode_IPD下拉输入
4.GPIO_Mode_IPU上拉输入
5.GPIO_Mode_Out_OD开漏输出
6.GPIO_Mode_Out_PP推挽输出
7.GPIO_Mode_AF_OD复用开漏输出
8.GPIO_Mode_AF_PP复用推挽输出
三、编程题(完整程序)
1.编制一个循环点亮LED灯的程序。
有4个发光二极管,它们的公共极(阳极)接+5V,阴极通过限流电阻分别于PB12、PB13、PB14、PB15,每次控制其中某个LED灯点亮1S后,转到下一个LED灯亮,循环不止。
#include“stm32f10x_map.h”
charsec=0,sec1=0;
unsignedshortled_dat[4]={1<
<
12,1<
13,1<
14,1<
15};
charled_num=0;
intmain(void)
{
SysTick->
LOAD=1E6;
CTRL=1;
RCC->
APB2ENR|=1<
3;
GPIOB->
CRH&
=0x0000ffff;
CRH|=0x33330000;
while
(1)
if(SysTick->
CTRL&
1<
16)
sec+=1;
if((sec&
0xf)>
9)
sec+=6;
}
if(sec!
=sec1)
sec1=sec;
BSRR=0xf000;
//灭所有LED灯
BRR=led_dat[led_num];
//亮指定LED灯
if(++led_num==4)led_num=0;
2.编制一个LED数码管测试程序。
数码管采用共阳极接+3.3V,阴极通过限流电阻分别于PA0、PA1、PA2、PA3、PA4、PA5、PA6和PA7,数码管的段与I/O口连接的对应关系是a->
PA0,b->
PA1,c->
PA2,d->
PA3,e->
PAA4,f->
PA5,g-PA6,dp->
PA7,试编程在数码管实现数字0~9循环显示,每个数字显示1秒。
#include”stm32f10x_map.h”
unsignedshortled_dat[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0xaf};
SysTick->
RCC->
GPIOA->
CRL&
=0x00000000;
CRL|=0x33333333;
Sec+=1;
GPIOA->
BSRR=0x00ff;
//灭数码管所有LED
//亮数码管指定LED(0~9)
if(++led_num==10)led_num=0;
}
3.编制一个使用STM32的USART1与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1停止位,波特率位9600bps。
编程实现接收PC机发送的数据后回传给PC机
chardata;
voidmain(void)
2;
14;
CRH&
=0xfffff00f;
CRH|=0x000004b0;
USART1->
BRR=0x0341;
//波特率设置8000000/9600
CR1|=1<
13;
while
(1)
{
if(USART1->
SR&
5)
data=USART1->
DR;
returndata;
USART1->
DR=data;
while(!
(USART1->
7));
returnUSART1->
4.编制一个使用STM32的USART2与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1停止位,波特率位19200。
编程实现接收PC机发送的数据(大写字母)后转换为小写字母回传给PC机。
DR=data+0x20;
5.编制一个使用STM32定时器的TIM1的PWM功能,实现产生周期为5ms,占空比位70%的PWM矩形波。
(系统晶振为8MHz)
11;
=0xfffffff0;
CRH|=0x0000000b;
TIM1->
PSC=4000;
ARR=10;
//周期=ARR*0.5ms
CCMR1|=0x60;
CCER|=1;
CCR1=7;
//占空比=CCR1/ARR=70%
BDTR=1<
15;
CR1=1;
WelcomeTo
Download!
!
欢迎您的下载,资料仅供参考!