历史上的今天
今天是:2025年04月27日(星期日)
2019年04月27日 | ARM7 的中断寄存器的设置方法
2019-04-27 来源:eefocus
以设置外部中断2(EINT2)为例,进行ARM7中断寄存器的设置,并编写其相应的中断程序如下:
//设置中断类型
rEXTINT = 0x22221122 ; //EINT2高电平触发中断
//给定中断服务程序入口
pISR_EINT2 = (unsigned)Encoder_int;
//打开全局中断和eINT2中断
rINTMSK &= ~(BIT_GLOBAL|BIT_EINT2);
/*
当ExINT2为高电平时,旋转编码器有新值,你先读低字节,再读高字节。其中低15位为旋转编码器的值,最高位为其按键的状态。
*/
//定义编码器的低地址
#define ENCODER_LOW_ADDR (*(volatile unsigned char *)(0x06000000 + 0x400004))
//定义编码器的高地址
#define ENCODER_HIGH_ADDR (*(volatile unsigned char *)(0x06000000 + 0x400005))
//编码器的中断服务程序实现
void __irq Encoder_int(void)
{
unsigned int encoderVal = 0;
rPCONG = rPCONG & (~0x30);//INPUT
if(rINTPND & BIT_EINT2) {
//encoder flag is true, means the status of rotate encoder is changed;
encoderVal = ENCODER_HIGH_ADDR<<8|ENCODER_LOW_ADDR;
debugprintf("the rotate encoder value is :%xn", encoderVal);
}
rI_ISPC = BIT_EINT2;//置位时,标志此中断请求已经被处理了.
rPCONG =rPCONG | 0x30;//EINT2
}
史海拾趣
|
EP3C120F780是CYCLONE III 中比较大的FPGA,其相关介绍资料如下图: 780个管脚,FBGA封装,工业温度(-40 到100度),商业温度(0~85度) ES: 工程样品, LEAD-FREE 表示啥意思? 此外上面也没有介绍,其等效的逻辑门数量? 这而也 ...… 查看全部问答> |
|
这是一个大喜又大悲的结果,前天搞定了6410下USB摄像头驱动,可以捕获320X240 YUV420格式图像,昨天修改成了实时视频流的程序,结果大失所望,S3C6410的USB HOST是USB1.1协议的,全速12Mbps,所以我想获取30FPS的图像很难呀,实际测试结果是160MS一 ...… 查看全部问答> |
|
淘宝购物特点是,一次性的,退不了的,所以\"兵者国之大事,不可不察也\" 一句话,挑最近成交多的,而且货比三家,再有同卖家谈好,别发生不愉快. 我上淘宝买东西主要有以下几种方式: 一,急 我对急用的东东,不卖不行非买不可的,我货比三家后,找 ...… 查看全部问答> |
|
据我的总结如下: begin-end语句的各句话是顺序执行的; fork-join语句各句话是并行执行的; 阻塞赋值“=”计算表达式和赋值一起进行; 非阻塞赋值“<=”先计算表达式,再在语句块中统一赋值; 但是,唉,说实话还是搞得不明不白的!!比如begin- ...… 查看全部问答> |
|
// sram_test.vmodule sram_test(clk,reset,write,read,writeaddr,writedata,readaddr,readdata, sram_oe,sram_ce,sram_lb,sram_we,sram_addr,sram_data);input clk; ...… 查看全部问答> |




