Board logo

标题: 关于6713 McASP 中断问题 [打印本页]

作者: kllyj2008    时间: 2008-11-19 13:42     标题: 关于6713 McASP 中断问题

我有个奇怪的问题,我对McASP配置好了,结果始终是不能出来接收中断,代码如下:
/* Configure MCASP. */
MCASP_ConfigGbl MyMCASPcfgGbl = {
0x00000000, /* PFUNC - All pins as McASP */
0x00000080, /* PDIR - XMT DATA output, rest are inputs */
0x00000000, /* DITCTL - DIT mode disable */
0x00000000, /* DLBCTL - Loopback disabled */
0x00000000 /* AMUTE - Never drive AMUTE */
};

//Set receive registers.
MCASP_ConfigRcv MyMCASPcfgRcv = {
/* RMASK */
0xffffffff, /* RMASK - Use all 32 bits */
0x000180f8, /* RFMT - MSB first, 32-bit slots, CPU bus, 0 bit delay */
0x00000000, /* AFSRCTL - burst, single bit frame sync, ext FS */
0x00000080, /* ACLKRCTL - Sample on rising CLK, divide by 1, ext CLK */
0x00000000, /* AHCLKRCTL - External HCLK */
0x00000001, /* RTDM - Slots 0-31 are active */
0x00000020, /* RINTCTL - Reccive interrupt */
0x00000000 /* RCLKCHK - Not used */
};
//Set serial control.
MCASP_ConfigSrctl MyMCASPcfgSrctl = {
0x00000000, /* SRCTL0 - Inactive */
0x00000000, /* SRCTL1 - Inactive */
0x00000000, /* SRCTL2 - Inactive */
0x00000000, /* SRCTL3 - Inactive */
0x00000000, /* SRCTL4 - Inactive */
0x00000000, /* SRCTL5 - Inactive */
0x0000000E, /* SRCTL6 - Receive, active high */
0x0000000D /* SRCTL7 - Transmit, active high */
};

//Set transmit registers.
MCASP_ConfigXmt MyMCASPcfgXmt = {
/* XMASK */
0xffffffff, /* XMASK - Use all 32 bits */
0x000180f8, /* XFMT - MSB first, 32-bit slots, CPU bus, 0 bit delay */
0x00000000, /* AFSXCTL - burst, single bit frame sync, ext FS */
0x000000c0, /* ACLKXCTL - Sample on falling CLK, divide by 1, ext CLK */
0x00000000, /* AHCLKXCTL - External HCLK */
0x00000001, /* XTDM - Slots 0-31 are active */
0x00000000, /* XINTCTL - No interrupts */
0x00000000 /* XCLKCHK - Not used */
};
MCASP_Config MyMCASPConfig = {
&MyMCASPcfgGbl,
&MyMCASPcfgRcv,
&MyMCASPcfgXmt,
&MyMCASPcfgSrctl,
};
/********************************************************************************\
\*DEC6713_AIC23_OpenCodec() -Open the codec AIC23.
\* Configure AXR1[7] as transmit port and AXR1[6] as
\* receive port.
\*Parameters:
\*
\*
\*Return:
\********************************************************************************/
MCASP_Handle DEC6713_AIC23_OpenCodec()
{
MCASP_Handle DEC6713_AIC23_DATAHANDLE;
Uint32 gblctl;

DEC6713_AIC23_DATAHANDLE = MCASP_open(MCASP_DEV1,MCASP_OPEN_RESET);

/* Reset MCASP to default values by setting GBLCTL = 0.*/
MCASP_reset(DEC6713_AIC23_DATAHANDLE);


MCASP_config(DEC6713_AIC23_DATAHANDLE,&MyMCASPConfig);

/* Clear transmit and receive status ,清除发送与接收状态*/
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE,XSTAT,0xFFFF);
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE,RSTAT,0xFFFF);

MCASP_RSETH(DEC6713_AIC23_DATAHANDLE, RINTCTL, 0x00000020);
EDMA_Init();
startEdma();
gblctl = 0;
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE, GBLCTL, gblctl);
gblctl = 0x404;
/*使能发送与接收的串行寄存器*/
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE, GBLCTL, gblctl);


/* Enable transmit/receive state machines */
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE, RBUF6, 0);
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE, XBUF7, 0);
gblctl = 0x0c0c;
MCASP_RSETH(DEC6713_AIC23_DATAHANDLE, GBLCTL, gblctl);

return(DEC6713_AIC23_DATAHANDLE);
}

望大侠帮忙解决!






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0