|
SZT 发表于 2015-4-11 23:31
我把I2C屏蔽后程序,程序在while里面但是检测不到场采集标志位DMA_Over_Flg =1,所以一直没进去数据发送数 ...
也不全是工程文件大的问题了。是因为我的底层是自己写的,现在还不好发出来了void PORTD_IRQHandler(){ if(PORTD_ISFR & 0x2000) //PTD13触发中断,采集的行中断
{
PORTD_ISFR |= 0x2000; //写1清中断标志位
if(Sample_Flag==0) return;
if((LinCout%(480/DATALINE)==0)&&(LinADCout<=DATALINE))//DATALINE 100 //采样行数
{ //DATACOUNT 140 采样点数
DMA_PORTx2BUFF_Init (DMA_CH4, (void *)&PTE_BYTE0_IN, ADdata[LinADCout], PTD12, DMA_BYTE1, DATACOUNT, DMA_rising_keepon);
DMA_EN(DMA_CH4); //使能通道CHn 硬件请求 (这样才能继续触发DMA传输)
DMA_IRQ_EN(DMA_CH4) ; //允许DMA通道传输
LinADCout ++ ;
}
LinCout++;
if(LinADCout==DATALINE)
{
LinADCout=0;
DMA_DIS(DMA_CH4);
DisableInterrupts;
DMA_Over_Flg = 1 ;
}
}
if(PORTD_ISFR & 0x4000) //PTD14触发中断,采集的场中断。
{ ;
PORTD_ISFR |= 0x4000; //写1清中断标志位
LinCout = 0 ;
LinADCout=0;
Sample_Flag=1;
}
}照着这个引脚配置好中断,我的就行
|
|