ARM嵌入式系统基础-复习题题稿.pptx
文本预览下载声明
嵌入式处理器可以分为几大类? ; P0.2和P0.3口是I2C接口,当设置它们为GPIO时,是否需要外接上拉电阻才能输出高电平? ;向量中断控制器VIC中被设置为几类?最多可以管理多少个中断输入请求? ; 若LPC2210/2220的bank0存储块使用32位总线,访问bank0时,地址A1、A0是否有效?EMC模块中的BLS0~BLS3具有什么功能? ;4.6 外部存储器控制器(EMC);1.3 嵌入式操作系统;4.7 引脚连接模块;4.7 引脚连接模块; LPC2000系列微控制器的大部分管脚都具有多种功能,即管脚复用,但是同一引脚在同一时刻只能使用其中一个功能,通过配置引脚连接寄存器:PINSELx控制多路开关来连接引脚与片内外设。
LPC2000系列ARM7微控制器有三个32位宽度PINSEL寄存器,其中PINSEL0和PINSEL1控制端口0,PINSEL2根据芯片的不同控制的端口数量也不同 。 ; MOV指令与LDR指令都是往目标寄存器中传送数据,但是它们有什么区别吗??
MOV指令用于将数据从一个寄存器传送到另一个寄存器中,或者将一个常数传送到一个寄存器中,但是不能访问内存。LDR指令用于从内存中读取数据放入寄存器中。;最小内核 | μC/OS-II微小内核分析 ;最小内核 | μC/OS-II微小内核分析 ;等待状态:任务在等待某一事件的发生还不能运行的状态;;LPC2100、LPC2200;4.5 存储器加速模块(MAM);4.16 看门狗;3.2 指令集介绍;2.5 ARM处理器模式;第3章 ARM7TDMI(-S)指令系统;2.6 ARM内部寄存器;3.1 ARM处理器寻址方式;1.3 嵌入式操作系统;最小内核 | μC/OS-II微小内核分析 ;4.14 UART(0、1);外部中断
极性控制; 以下代码是初始化外部中断0,用它来唤醒掉电的LPC2114,请填空。
PINSEL0==0
PINSEL1==(PINSEL10xFFFFFFFC) | 0x01;//设置I/O口连接,P0.16设置为EINT0
EXTMODE==EXTMODE 0x0E ; //设置EINT0为电平触发模式
EXTPOLAR==EXTPOLAR 0x0E; //设置EINT0为低电平触发
EXTWAKE==EXTWAKE 0x0E; //允许外部中断0唤醒掉电的CPU
EXTINT== 0x0F ; //清除外部中断标志 ; 使用NOP伪指令、比较指令、条件跳转指令等完成一个软件延时子程序,延时长度由R0寄存器的数值控制?; 初始化串口0程序。设置为8位数据位,1位停止位,无奇偶校验,入口参数:bps 通讯波特率
void UART0Init(uint32 bps)
{ uint16 Fdiv;
PINSEL0=(PINSEL0(~0x0F))|0x05;//不影响其它管脚连接,设置I/O连接到UART0
U0LCR = 0x83; // DLAB = 1,可设置波特率
Fdiv = (Fpclk/16) / bps; // 设置波特率
U0DLM = Fdiv / 256;
U0DLL = Fdiv % 256;
U0LCR = 0x03;
};设计完成主模式I2C的初始化
Void I2C_init(uint32 fi2c) //传入参数为I2C时钟频率
{ if(fi2c 400000)fi2c = 400000;//过滤传入参数,最高400K时钟频率
PINSEL0=(PINSEL0 0xFFFFFF0F)|0x50;//设置引脚连接模块(PINSEL0)
I2SCLH=(Fpclk/fi2c+1)/2; //设置通信波特率(I2SCLH、I2SCLL)
I2SCLL=(Fpclk/fi2c)/2;
I2CONCLR= 0x2C;
I2CONSET=0x40; //使能主I2C(I2CONSET)
VICIntSelect=0
VICVectCntl0=0x29;
VICVectAddr0=(int)IRQ_I2C; //设置中断向量(VICxxx)
VICIntEnable = 0x0200;
}; 下列程序语句完成什么操作,并在空格里说明程序中语句的作用?
答: ARM状态切换到Thumb状态。
AREA Example1,CODE,READONLY ;声明代码段Example1
ENTRY
显示全部