ARM原理及应用复习题_第1页
ARM原理及应用复习题_第2页
ARM原理及应用复习题_第3页
ARM原理及应用复习题_第4页
ARM原理及应用复习题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《ARM原理及应用》复习题

填空题

1.STM32F103是32位单片机,内核是ARM公司的Cortex-M30

2.STM32F103最高工作频率72MHz0片内具有多种外设,它们分别是:GPI0、USART、

12c、SPI、ADC、DAC、TIM、RTC、IWDG、_WWDG0

IWDG:独立看门狗

WWDG:窗口看门狗

3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是模拟输入、浮空

输入和上拉/下拉输入;输出有4种状态,它们分别是通用推挽输出、通用开漏输出、_

复用推挽输出和复用开漏输出。

5.当STM32I/O端口配置为输入时,输出功能被禁止,施密特触发器被

6.STM32的全部端口都有外部中断实力。当运用外部中断线时,相应的引脚必需配置成—

输入模式。

7.STM32具有单独的位设置或位清除实力。这是通过GPIOx->BSRR和GPI0x->BRR寄存器来

实现的。

8.STM32芯片内部集成的」纨位ADC是一种逐次靠近(比较)型模拟数字转换器,具有18

个通道,可测量16个外部和2个内部信号源。

9.S7M32的NVIC管理着包括Cortex-M3核异样等中断,其和ARM处理器核的接口紧密相

连,可以实现时延的中断处理,并有效地处理后到中断。

10.系统计时器(SysTick)供应了1个24位二进制递减计数器,具有灵敏的限制机制

11.STM32通用定时器TIM的16位计数器可以接受三种方式工作,分别为向上计数模式、

向下计数模式和向上下计数模式。

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功能特点。

答:

12c是两线式串行总线,用于实现主/从设备间的多主串行通信。总线上的每个器件都有一个唯

一的地址识别,而且都可以作为一个发送器或接收器。它是一个真正的多主机总线,具有仲裁

功能,总线上连接器件的数量只受总线最大电容的限制,有标准和快速两种模式。

15.STM32高级定时器有哪些功能?

高级定时器TTM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。运用

定时器预分频器和RCC时钟限制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个亳

秒的调整。

16.如何设置STM32的串口的波特率。

答:

USARTx->BRR=%CLK/波特率

17.Cortex-M3的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?

答:

内核设备:OxEOOO0000-0xE00FFFFF(1MB)

片上设备:0x40000000-0x5FFFFFFF(512MB)

SRAM:0x20000000-0x3FFFFFFF(512MB)

Flash:0x00000000-0x1FFFFFFF(512MB)

18.STM32的GPIO的配置模式有那几种?如何进行配置模式的配置?

答:

8种

1.GPIOJIode_AIN模拟输入

2.GPIO_Mode_IN_FLOATING浮空输入

3.GPIO_Mode_IPD下拉输入

4.GPIOJlode.IPU上拉输入

5.GPI0_Mode_0ut_0D开漏输出

6.GPI0_Mode_0ut_PP推挽输出

7.GPIO_Mode_AF_OD复用开漏输出

8.GPIO_Mode_AF_PP复用推挽输出

三、编程题(完整程序)

1.编制一个循环点亮LED灯的程序。有4个发光二极管,它们的公共极(阳极)接+5V,阴极通过限流电阻分

别于PB12、PB13、PB14、PB15,每次限制其中某个LED灯点亮1S后,转到下一个LED灯亮,循环不止。

4includeastm32f10x_map.h**

charsec=0,secl=0;

unsignedshort1ed_dat[4]={1«12,1«13,1«14,1«15);

charled_num=0;

intmain(void)

(

SysTick->L0AD=1E6;

SysTick->CTRL=l;

RCC->APB2ENR|=1«3;

GPI0B->CRH&=0x0000ffff;

GPI0B->CRH|=0x33330000;

while(1)

(

if(SysTick->CTRL&1«16)

{

sec+=l;

if((sec&Oxf)>9)

sec+=6;

)

if(sec!=secl)

(

seel=sec;

GPI0B->BSRR=0xf000;〃灭全部LED灯

GPT0B->BRR=1ed_dat[1ed_num];〃亮指定LED灯

if(++led_num==4)led_num=0;

}

2.编制一个LED数码管测试程序。数码管接受共阳极接+3.3V,阴极通过限流电阻分别于PAO、PAI、PA2、PA3、

PA4、PA5、PA6和PA7,数码管的段与I/O口连接的对应关系是

a->PAO,b->PAl,c->PA2,d->PA3,e->PAA4,f->PA5,g-PA6,dp->PA7,试编程在数码管实现数字0~9循环显示,

每个数字显示1秒。

^include”stm32f10x_map.hv

charsec=O,secl=O;

unsignedshort1ed_dat[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,Oxaf};

charled_num=0;

intmain(void)

(

SysTick->L0AD=lE6;

SysTick->CTRL=l;

RCC->APB2ENR|=1«3;

GPIOA->CRL&=OxOOOO0000;

GPIOA->CRL|=0x33333333;

)

if(SysTick->CTRL&1«16)

{

Sec+=1;

if((sec&Oxf)>9)

sec+=6;

if(sec!=seel)

(

secl=sec;

GPIOA->1351^=0*00£七〃灭数码管全部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.hv

chardata;

voidmain(void)

(

RCC->APB2ENR|=1«2;

RCC->APB2ENR|=1«14;

GPIOA->CRH&=0xfffffOOf;

GPIOA->CRH|=OxOOOO04b0;

USART1->BRR=0x0341;〃波特率设置8000000/9600

USART1->CR1|=1«2;

USART1->CR1|=1«3;

USART1->CR1|=1«13;

while(l)

{

if(USARTl->SR&1«5)

(

data=USART1->DR;

returndata;

USART1->DR=data;

while(!(USART1->SR&1«7));

returnUSART1->DR;

)

)

)

4.编制一个运用STM32的USART2与PC机实现串行通讯,串行口运用1位起始位、8位数据位、无校验位和1

停止位,波特率位19200。编程实现接收PC机发送的数据(大写字母)后转换为小写字母回传给PC机。

#includewstm32fl0x_map.hw

chardata;

voidmain(void)

(

RCC->APB2ENR|=1«2;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论