当前位置: 代码迷 >> 单片机 >> 求思路:ADC一段波形怎么求峰峰值
  详细解决方案

求思路:ADC一段波形怎么求峰峰值

热度:25   发布时间:2016-04-28 15:48:04.0
求思路:ADC一段波形如何求峰峰值
ADC一段波形如何求峰峰值

------解决方案--------------------
u16 ADC_result, Peak_Min, Peak_Max;

Peak_Min 初始化为量程的最高值
Peak_Max 初始化为量程的最低值,也就是起始状态下Peak_Min > Peak_Max。第一次刷新之后就好了。

最基本的,先获取最大值和最小值,每次刷新的时候执行下面的:
if(ADC_result < Peak_Min) Peak_Min = ADC_result;
if(ADC_result > Peak_Max) Peak_Max = ADC_result;

然后可以用最大值减去最小值。

你要是把时间分成相互不重叠的时段,需要每个时段内的VPP,就定期重新初始化一下那两个变量。
如果求连续的时间段VPP可以考虑做个队列把过去一段时间的相关变量存起来。在内存里面选取片段进行对比。
  相关解决方案