初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2016-11-10
- 在线时间
- 13 小时
|
发表于 2017-7-16 07:01:57
|
显示全部楼层
这是我的一段代码,仅供参考。
void DMA1_Channel1_IRQHandler(void)
{
u16 bc=BLACK,
fc=YELLOW ;
u16 k0, //adc[512],
i=0,
//m=0,
x0,
y0,
x=9,
y=159;
//TIM2->CR1&=~(1<<0); //使能定时器2
tese_FFT() ;
for(K=0;K<200;++K)
{
if(n==1)
{
Gui_DrawPoint(x+K,y-adc[K],bc);
if((K>0)&(K<200)&(adc[K+1]>adc[K]))
for(i=adc[K+1]-adc[K];i>0;i--)
Gui_DrawPoint(x+K+1,y-adc[K+1]+i,bc);
if((K>0)&(K<200)&(adc[K+1]<adc[K]))
for(i=adc[K]-adc[K+1];i>0;i--)
Gui_DrawPoint(x+K+1,y-adc[K+1]-i,bc);
// FFT_Window( 0,100);
}
adc[K]=Buff_MAG[K+1];
Gui_DrawPoint(x+K,y-adc[K],fc);
if((K>1)&(K<200)&(adc[K]>adc[K-1]))
for(i=adc[K]-adc[K-1];i>0;i--)
Gui_DrawPoint(x+K,y-adc[K]+i,fc);
if((K>1)&(K<200)&(adc[K]<adc[K-1]))
for(i=adc[K-1]-adc[K];i>0;i--)
Gui_DrawPoint(x+K,y-adc[K]-i,fc);
}
if(K>=199)
{
FFT_Window( 0,100);
QDTFT_Test_Demo();
n=1;
K=0;
DMA_ClearFlag(DMA1_FLAG_TC1); //clear the flag
}
// TIM2->CR1|=1<<0;
// n=1;
// K=0;
//DMA_ClearFlag(DMA1_FLAG_TC1); //clear the flag
//MYDMA_GOnes(DMA1_Channel1) ;
// ADC1->SQR3|=10<0;
// ADC1->CR2|=1<<0;//开启 AD 转换器
// DMA1_Channel1->CCR|=(1<<0); //开启DMA传输
}
|
|