初级会员

- 积分
- 102
- 金钱
- 102
- 注册时间
- 2017-6-18
- 在线时间
- 26 小时
|

楼主 |
发表于 2017-8-27 10:46:10
|
显示全部楼层
本帖最后由 Rainday 于 2017-8-27 10:54 编辑
[mw_shl_code=c,true]#include "led.h"
#include "sys.h"
#include "usart.h"
#include "adc.h"
#include "find_peak.h"
#include "timer.h"
int sig[MAX_SIGNAL_LEN]; //原始数据
int peaks[MAX_SIGNAL_LEN]; //峰值点位置
int troughs[MAX_SIGNAL_LEN]; // 谷值点位置
int i,n1,n2,n3;
//u16 temp,num;
int main()
{
i=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
LED_Init ();
uart_init(115200);
Adc_Init();
TIM_OPMGATE_Init();
//TIM_Open();
while(1)
{
for(i=0;i<MAX_SIGNAL_LEN;i++)
{
sig[2500]=Get_Adc_Average(ADC_Channel_1,10);
printf("%d \r\n",sig[2500]);
}
n1 = 2500; //信号长度
process(sig,n1); //信号预处理
n2=find_peaks(filter_sig,n1,peaks); //
n3=find_troughs(filter_sig,n1,troughs); //
printf("\n2波峰位置\n");
for(i=0;i<n2;i++)
{
printf("%d ",peaks+1); //下标从1开始
printf("\n");
}
printf("\n2波谷位置\n");
for(i=0;i<n3;i++)
{
printf("%d ",troughs+1);
printf("\n");
}
}
}
[/mw_shl_code] |
|