您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> eppi怎么设置进入中断
本帖共有692个阅读者
发表帖子 发表投票 回复主题
eppi怎么设置进入中断
loveqiezi1982(论坛新手)
loveqiezi1982
头衔:社区公民
帮派:无帮无派
帖数:4
金钱:140
积分:6
注册时间:2015/2/3
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
eppi怎么设置进入中断
本人纯菜鸟,在使用bf707使用eppi采集adc中,一直不能进入中断
配置dma和eppi
int Bsp_InitPPi(void)
{
adi_int_InstallHandler(INTR_EPPI0_CH0_DMA,EPPI0_DMA14_Handler, (void *)0, true);
*pREG_DMA14_XCNT = 1024;
*pREG_DMA14_XMOD = 1;
*pREG_DMA14_CFG =ENUM_DMA_CFG_WRITE | ENUM_DMA_CFG_STOP;
*pREG_EPPI0_LINE = 2016;
*pREG_EPPI0_HDLY=0;
*pREG_EPPI0_HCNT=1024;
*pREG_EPPI0_CTL = ENUM_EPPI_CTL_RXMODE |ENUM_EPPI_CTL_NON656 |ENUM_EPPI_CTL_SYNC1 ;
return 0;
}
void StartPPI(unsigned char * ptr)
{
*pREG_DMA14_ADDRSTART=ptr;
*pREG_DMA14_CFG |=  ENUM_DMA_CFG_EN;
ssync();
*pREG_EPPI0_CTL |=  ENUM_EPPI_CTL_EN;
ssync();
}
中断函数
void EPPI0_DMA14_Handler(uint32_t iid, void* handlerArg)
{
*pREG_DMA14_STAT |= (uint32_t)ENUM_DMA_STAT_IRQDONE;
printf("ppi_start\n");
}
调用:Bsp_InitPPi();StartPPI(buf);后但不能进入中断函数
大神能不能解释下??

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/2/3 17:34:25
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你测量一下PPI时钟信号有没有,如果有,把DMA采样数据配置少一点,看是否能采到。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/2/5 23:22:08
loveqiezi1982(论坛新手)
loveqiezi1982
头衔:社区公民
帮派:无帮无派
帖数:4
金钱:140
积分:6
注册时间:2015/2/3
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
PPI_CLK信号是外部输入的,7MHZ
DMA采样数据配置成很小也进入不了中断,DMA14_STAT.RUN一直为2



这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/2/6 11:39:51
loveqiezi1982(论坛新手)
loveqiezi1982
头衔:社区公民
帮派:无帮无派
帖数:4
金钱:140
积分:6
注册时间:2015/2/3
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
问题已经解决,ppi0和dma配置没有问题,只是ppi0的IO口复用配置没配置

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/2/9 10:39:57
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154229 Call, 1 Queries, Processed in 0.015625 second(s),