首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

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

2012-09-11 
求思路:ADC一段波形如何求峰峰值ADC一段波形如何求峰峰值[解决办法]u16 ADC_result, Peak_Min, Peak_MaxP

求思路: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可以考虑做个队列把过去一段时间的相关变量存起来。在内存里面选取片段进行对比。

热点排行