#include "led.h"
#include "sys.h"
#include "usart.h"
#include "adc.h"
#include "find_peak.h"
#include "timer.h"
#include "math.h"
int sig[MAX_SIGNAL_LEN]; //采集数据
int peaks[MAX_SIGNAL_LEN]; //峰值点位置数据
int troughs[MAX_SIGNAL_LEN]; // 谷值点位置数据
int i,n1,n2,n3;
int tmp;
double fre;
int main()
{
i=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
LED_Init ();
uart_init(115200);
Adc_Init();
TIM_OPMGATE_Init();
while(1)
{
tmp=Get_Adc_Average(ADC_Channel_1,10);
if(tmp==3103)
{
for(i=0;i<MAX_SIGNAL_LEN;i++)
{
sig=Get_Adc_Average(ADC_Channel_1,10);
//sig=Get_Adc(ADC_Channel_1);
printf("%d \r\n",sig);
}
}
n1 = MAX_SIGNAL_LEN;
process(sig,n1); //数据预处理
n2=find_peaks(sig,n1,peaks); //
n3=find_troughs(sig,n1,troughs); //
printf("\n峰值点位置\n");
for(i=0;i<n2;i++)
{
printf("%u ",peaks+1); //下标从1开始
TIM_Open();
}
printf("\谷值点位置\n");
for(i=0;i<n3;i++)
{
printf("%u ",troughs+1);
TIM_Open();
}
}
} |