中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx

上传人:b****5 文档编号:20950030 上传时间:2023-01-26 格式:DOCX 页数:12 大小:21.16KB
下载 相关 举报
中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx_第1页
第1页 / 共12页
中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx_第2页
第2页 / 共12页
中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx_第3页
第3页 / 共12页
中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx_第4页
第4页 / 共12页
中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx

《中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx》由会员分享,可在线阅读,更多相关《中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

中国海洋大学工程学院含简答程序答案修正版ARM原理及应用复习题Word格式.docx

由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。

嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。

2.ARMCortex-M3有何特点?

分支预测,哈佛结构,内置嵌套向量中断控制器,支持位绑定操作,支持串行调试,内核支持低功耗模式,高效的Thumb216/32位混合指令集,32位硬件除法和单周期乘法,支持存储器非对齐访问,定义了统一的存储器映射,极高的性价比。

3.简述Cortex-M3系统滴答定时器的功能和作用。

SysTick定时器被捆绑在NVIC中,用于产生SysTick异常。

操作系统和所有使用了时基的系统,都必须要一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。

其对操作系统尤其重要。

例如,操作系统可以为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;

或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。

因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。

4.STM32共有那几种基本时钟信号?

4种

HSI:

高速内部时钟信号

HSE:

高速外部时钟信号

LSE:

低速外部时钟信号

LSI:

低速内部时钟信号

5.简述嵌套向量中断控制器(NVIC)的主要特性。

支持嵌套和向量中断。

自动保存和恢复处理器状态。

动态改变优先级。

简化的和确定的中断时间,中断延迟大大缩短。

具有43个可屏蔽中断通道。

现低延迟的异常和中断处理。

具有电源管理控制。

具有16个可编程的优先等级。

系统控制寄存器的实现。

6.简述STM32上机调试操作步骤。

(1)启动STM32开发平台程序

(2)编写/改编程序源代码

(3)静态查错无误后,进行编译,避免语法错误和低级失误。

(4)连接硬件烧录程序

(5)观察硬件是否按照预期工作,如非正常工作,优先检查代码中端口/寄存器/变量定义,中断优先级,核心程序代码是否存在错误/漏洞,再检查硬件系统是否有损坏。

(6)根据发现的bug进行debug工作,修改代码,更换/维修硬件系统,直至系统工作正常。

7.简述STM32中USART功能特点。

STM32的USART为通用同步异步收发器,其可以与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。

USART还可以利用分数波特率发生器提供宽范围的波特率选择。

STM32的USART支持同步单向通信和半双工单线通信。

同时,其也支持LIN(局部互连网),智能卡协议和IrDA(红外数据)SIRENDEC规范,以及调制解调器(CTS/RTS)操作。

STM32还具备多处理器通信能力。

另外,通过多缓冲器配置的DMA方式,还可以实现高速数据通信。

8.简述STM32中SPI功能特点。

串行通信设备接口SPI是工业标准串行协议,通常用于嵌入式系统,将微处理器连接到各种片外传感器,转换器,存储器和控制设备。

SPI可以实现主设备或从设备协议,当配置为主设备时,SPI可以连接16个的从设备,发送数据和接收数据寄存器的宽度可以配置为8位或16位。

作用有读写flash(存有字库,图片等等)芯片,与触摸屏控制器通信,读写sd卡。

9.简述STM32中TIM功能特点。

STM32提供了一个高级控制定时器(TIM1,TIM8)。

TIM1由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。

TIM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。

使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。

高级控制定时器TIM1和通用控制定时器TIMx是完全独立的,它们不共享任何资源,因此可以同步操作。

TIM2-TIM5是普通定时器,TIM6和TIM7是基本定时器,其时钟由APB1输出产生。

10.简述STM32中ADC功能特点。

STM32的ADC系统的主要功能特性包括如下几个方面:

ADC开关控制、ADC时钟、ADC通道选择、ADC的转换模式、中断、模拟看门狗、ADC的扫描模式、ADC的注入通道管理、间断模式、ADC的校准模式、ADC的数据对齐、可编程的通道采样时间、外部触发转换、DMA请求、双ADC模式和温度传感器。

11.什么是嵌入式系统?

嵌入式系统一般由哪几部分构成?

嵌入式系统,是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”;

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成。

嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。

执行装置也称为被控对象

12.Cortex-M3的处理器有那两种工作模式和状态?

如何进行工作模式和状态的切换?

关于工作模式

Cortex-M3处理器支持2种工作模式:

线程模式和处理模式。

在复位时处理器进入“线程模式”,异常返回时也会进入该模式。

出现异常模式时处理器进入“处理模式”。

关于工作状态

Coretx-M3处理器有2种工作状态。

Thumb状态:

这是16位和32位“半字对齐”的Thumb和Thumb-2指令的执行状态。

调试状态:

处理器停止并进行调试,进入该状态。

13.简述STM32的不同复用功能的重映射功能。

IO口可以有多种用途,比如可以作为普通的输入输出口使用,也可以作为PWM通道使用,还有DAC通道等,但需要相应的配置。

14.简述STM32中I2C功能特点。

I2C(芯片间)总线接口连接微控制器和串行I2C总线。

它提供多主机功能,控制所有I2C总线特定的时序、协议、仲裁和定时。

支持标准和快速两种模式,同时与SMBus2.0兼容。

I2C模块有多种用途,包括CRC码的生成和校验、SMBus(系统管理总线—SystemManagementBus)和PMBus(电源管理总线—PowerManagementBus)。

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

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

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

使用Usart1_Init(void)中的函数USART1->

BRR=取整【(晶振频率)/(需设置的波特率)】函数即可。

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

内核设备:

0xE0000000-0xE00FFFFF

片上设备:

0x40000000-0x5FFFFFFF

SRAM:

0x20000000-0x3FFFFFFF

Flash:

0x00000000-0x1FFFFFFF

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“main.h”

charflag=0,sec=0,sec1=0;

unsignedshortled_dat[4]={1<

<

12,1<

13,1<

14,1<

15};

charled_num=0;

intmain(void)

{

SysTick_Init();

Led_Init();

While

(1)

SysTick_Proc();

Led_Proc();

}

voidSysTick_Init(void)

SysTick->

LOAD=1E6;

CTRL=1;

voidSysTick_Proc(void)

if(SysTick->

CTRL&

1<

16)

Sec+=1;

if((sec&

0xf)>

9)

sec+=6;

voidLed_Init(void)

RCC->

APB2ENR|=1<

3;

GPIOB->

CRH&

=0x0000ffff;

CRH|=0x33330000;

VoidLed_Proc(void)

if(sec!

=sec1)

sec1=sec;

GPIOB->

BSRR=0xf000;

//灭所有LED灯

BRR=led_dat[led_num];

//亮所有LED灯

if(flag)

{

if(++led_num==4)

led_num=0;

else

if(led_num--==0)

led_num=3;

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“main.h”

unsignedshortled_dat[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

GPIOA->

=0x00000000;

CRH|=0x33333333;

GPIOA->

//灭所有LED数码管

//亮所有LED数码管

if(++led_num==10)

led_num=9;

3.编制一个使用STM32的USART1与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1停止位,波特率位9600bps。

编程实现接收PC机发送的数据后回传给PC机

VoidUsart1_Init(void)

RCC->

2;

14;

CRH&

=0xfffff00f;

CRH|=0x000004b0;

USART1->

BRR=0x0045;

//波特率设置

CR1|=1<

13;

charUsart1_Txd(chardata)

DR=data;

while(!

(USART1->

SR&

7));

returndata;

charUsart1_Rxd(void)

if(USART1->

5)

returnUSART1->

DR;

elsereturn0;

voidmain(void)

Usart1_Init();

while

(1){};

4.编制一个使用STM32的USART2与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1停止位,波特率位19200。

编程实现接收PC机发送的数据(大写字母)后转换为小写字母回传给PC机。

voidUsart2_Init(void)

CRL&

CRL|=0x00000bb0;

USART2->

BRR=416;

USART2->

charUsart2_Txd(chardata)

charUsart2_Rxd(void)

if(USART2->

returnUSART2->

charx;

Usart2_Init();

while

(1)

{

if(USART2->

x=USART2->

DR=X+0x20;

}

5.编制一个使用STM32定时器的TIM1的PWM功能,实现产生周期为5ms,占空比位70%的PWM矩形波。

(系统晶振为8MHz)

voidTim1_Init(void)

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;

while

(1){};

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1