ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题
填空题
1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。
2.STM32F103最高工作频率___72MHz___。片内具有多种外设,它们分别是:_GPIO_、_USART_、
_。
_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG
IWDG:独立看门狗
WWDG:窗口看门狗
3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。
5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。
6.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成
输入模式。
7.STM32具有单独的位设置或位清除能力。这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。
8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。
9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。
10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。
12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。
简答题
1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?
答:
是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”
和“计算机系统”3个基本要素。//它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统
以及用户的应用程序等四个部分组成。//嵌入式系统通常执行的是带有特定要求的预先定义的
任务,强调控制能力与控制的可靠性;而通用计算机则可以通过安装各种软件执行各种不同的
任务,强调高速、海量的数值计算。
2.ARM Cortex-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功能特点。
答:
STM32 ADC是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的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?
答:
内核设备:0xE000 0000-0xE00F FFFF(1MB)
片上设备:0x4000 0000-0x5FFF FFFF(512MB)
SRAM    :0x2000 0000-0x3FFF FFFF(512MB)
Flash  :0x0000 0000-0x1FFF FFFF(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”
char sec=0,sec1=0;
unsigned short led_dat[4]={1<<12,1<<13,1<<14,1<<15};
char led_num=0;
现有人口int main(void)
{
SysTick->LOAD=1E6;
SysTick->CTRL=1;
RCC->APB2ENR|=1<<3;
GPIOB->CRH&=0x0000 ffff;
GPIOB->CRH|=0x3333 0000;
while (1)
{
if(SysTick->CTRL & 1<<16)
{
sec+=1;
if((sec & 0xf)>9)
sec+=6;
}
if(sec!=sec1)
{
sec1=sec;
GPIOB->BSRR=0xf000;//灭所有LED灯
GPIOB->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”
char sec=0,sec1=0;
unsigned short led_dat[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0xaf};
char led_num=0;
int main(void)
{
SysTick->LOAD=1E6;
SysTick->CTRL=1;
RCC->APB2ENR|=1<<3;
GPIOA->CRL&=0x0000 0000;
GPIOA->CRL|=0x3333 3333;
}
if(SysTick->CTRL & 1<<16)
{
Sec+=1;
if((sec & 0xf)>9)
sec+=6;
}
if(sec!=sec1)
{
sec1=sec;
GPIOA->BSRR=0x00ff;//灭数码管所有LED
阿旺传奇GPIOA->BRR=led_dat[led_num];//亮数码管指定LED(0~9)
链传动设计if(++led_num==10)led_num=0;
}
}
}
3.编制一个使用STM32的USART1与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1
停止位,波特率位9600bps。编程实现接收PC机发送的数据后回传给PC机
#include”stm32f10x_map.h”
char data;
void main(void)
{
RCC->APB2ENR|=1<<2;
RCC->APB2ENR|=1<<14;

本文发布于:2024-09-22 19:21:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/198178.html

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

标签:功能   输入   具有
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议