微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 请教6713外中断的一个问题

请教6713外中断的一个问题

时间:10-02 整理:3721RD 点击:
我正在调试板子6713的外中断.我是用FR1发生高低电平,用导线接到外中断5的引脚上.我用示波器看了,高低电平的产生没有问题,可就是怎么都进不了外中断.
我看了看GPIO的寄存器,发现根本就没有采进上升沿和下降沿,到底是怎么回师呢?中断向量的编写也没有问题,用键盘就可以进入中断.
这是我的程序,请大家帮忙看一看,帮我找找原因,谢谢!
#include \"ICETEK-C6713-A.h\"

main()
{
//unsigned char dbScanCode;
//unsigned int uWork;

init_emif(); // 初始化emif
// InitCTR(); // 初始化ICETEK-CTR
InitInterrupt();

// 设置FSR1管脚为通用输出管脚
SPCR1&=0x0fffffffe; // /RRST=0
PCR1|=0x2400; // RIOEN=1, FSRM=1

while ( 1 )
{
//////让FSR1输出1/////////////////
uWork=PCR1;
uWork|=4;
PCR1=uWork;
Delay(160);
/////////让FSR1输出0///////////////
uWork=PCR1;
uWork&=0x0fffb;
PCR1=uWork;
Delay(160);
///////////让FSR输出1//////////////////
uWork=PCR1;
uWork|=4;
PCR1=uWork;
Delay(160);

}

void InitInterrupt(void)
{
// 设置中断控制寄存器
CSR&=0xfffffffe; // 关中断 GIE=0
ISTP=0x00000c00; // 重置中断向量表到0C00h
IMH=0x0; // 指定xint5中断
IML=0x0a0;
ICR=0xff; // 清除等待的中断
IER=0x23; // 使能xint5中断
CSR=CSR|1; // 开中断
}

void interrupt XINT5() //中断响应函数
{
LBDS^=1;
}

我还想请问大侠一下,GPIO的输入输出设置是不是只要设置GPEN和GPDIR就可以了,会不会跟DSP的上电引导模式什么的有关系呢?

外中断的问题已经解决了.不是软件设置的问题,而是硬件的问题.
我用的是瑞泰的板子,他们把外中断5和外中断6标注反了,害我浪费了两个星期的时间!

键盘触发中断是瑞泰的实验板上做的,我从外面是看不出来到底接的是哪个中断.事实证明瑞泰的标注错了,他标注的外中断5确实是外中断6.
谢谢您的回复,有人关注感觉好温暖啊,呵呵!
接下来就是GPIO的问题了,设置成输出,给GPIOVAL写值,寄存器没问题,可就是相应的引脚总是为高.又得费事找找毛病了!

我用外部中断5,在ISR中翻转GPIO12,
观测到从GPIO5上升沿直至约1us后GPIO12才翻转,中断响应为什么会这么慢?
(GPIO12翻转指令前没有其它语句)
C6713典型的中断响应时间是多少呢?

看你的说法,应该至少已经有I2C的时序出来,你可以看看你的波形时序,了解你的I2C总线工作的实际状态,再和你的寄存器设置和逻辑去比对。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top