1、嵌入式期末复习嵌入式期末复习什么是什么是 I/O端口?端口?S3C2410A内有多少个内有多少个 I/O端口?每个端口?每个 I/O端口有多少个引脚?引脚功端口有多少个引脚?引脚功能在哪个寄存器中设置?什么是能在哪个寄存器中设置?什么是 I/O端口的编址?端口的编址?端口端口 A与其他端口的区别?(每个端口包含几个寄存器,寄存器的功与其他端口的区别?(每个端口包含几个寄存器,寄存器的功能?)能?)以下程序是以下程序是 C/OS- 环境下,针对某开环境下,针对某开发板具体配置,设置发板具体配置,设置 I/O端口的一个例子。端口的一个例子。请读者根据请读者根据 I/O端口设置的数据,说出开发端口设
2、置的数据,说出开发板的配置。板的配置。rGPACON = 0x5ef7ff;rGPBCON = 0x155559;rGPBUP = 0x7ff; rGPCCON = 0xaaaa55aa;rGPCUP = 0xffff; rGPDCON = 0xaaaaaaaa;rGPDUP = 0xffff;rGPECON = 0xaaaaaaaa;rGPEUP = 0xffff;rGPFCON = 0x55aa;rGPFUP = 0xff;rGPGCON = 0xff4affb9;rGPGUP = 0xffff; rGPGDAT = rGPGDAT rGPHCON = 0x2afaaa;rGPHUP =
3、0x7ff;举例,端口举例,端口 E、端口、端口 F作为普通作为普通 I/O端口使端口使用,其中端口用,其中端口 E的的 GPE3引脚输出控制一个引脚输出控制一个LED指示灯、指示灯、 GPE4引脚输出控制一个蜂鸣引脚输出控制一个蜂鸣器,端口器,端口 F用作并行数据输入,若端口用作并行数据输入,若端口 F对对应的引脚上有一位是低电平时,则蜂鸣器应的引脚上有一位是低电平时,则蜂鸣器发声,发声, LED灯亮。灯亮。#include #define beepon() rGPEDAT= rGPEDAT | 0x0010#define beepoff() rGPEDAT= rGPEDAT INT8U o
4、ldportf=0xff, newportf;rGPECON=(rGPECON | 0x00000140)rGPFCON=rGPFCON Newportf=rGPFDAT;While(1)if(newportf!= oldportf)ledlight();beepon();Delay(3000);beepoff();ledclear();Delay(3000);S3C2410A共有多少个中断源?多少个外部中共有多少个中断源?多少个外部中断源?外部中断的触发方式如何设置?中断标志断源?外部中断的触发方式如何设置?中断标志位在哪些寄存器里?某中断是否允许由哪个寄存位在哪些寄存器里?某中断是否允许由
5、哪个寄存器控制?中断优先级由哪个寄存器控制?中断处器控制?中断优先级由哪个寄存器控制?中断处理的流程是什么样的?理的流程是什么样的?中断处理示意图。中断处理示意图。 程序状态寄存器(程序状态寄存器( PSR)中的)中的 F位和位和 I位位如果如果 ARM920T CPU中的中的 PSR的的 F位被设位被设置为置为 1, CPU不接受来自中断控制器的快速不接受来自中断控制器的快速中断请求(中断请求( Fast Interrupt Request, FIQ)。同样,如果。同样,如果 I位被设置为位被设置为 1, CPU不接受不接受来自中断控制器的中断请求(来自中断控制器的中断请求( Interrupt Request, IRQ)。因此,通过清除)。因此,通过清除 PSR的的F位或位或 I位为位为 0,同时设置中断屏蔽寄存器,同时设置中断屏蔽寄存器INTMSK的对应位为的对应位为 0,送到中断控制器的,送到中断控制器的中断请求才能被处理。中断请求才能被处理。 中断控制器特殊功能寄存器中断控制器特殊功能寄存器