ADC是软件触发,没有DMA也没用到中断。我的目的是检测到峰值点谷值点立即从另一个IO口输出一个单次脉冲,实时性很强。做了个阈值法确实能检测到峰值点位置,但是问题来了:必须要对一段数据处理才能知道有没有峰谷值点,甚至一个或者多个,那么这样的话就错过峰谷值点了,再加上处理更加延迟了。所以根本达不到实时的目的,而且信号有噪声也没法用中间一个数和两边的数比较,有毛刺一定会误判。我的解决方法是计算出峰值点和零点的时间并记下这个时间t,下个零点过来时立即开启定时器定时时间t,时间一到立马输出脉冲波。然后再次计算零点和谷值点时间t1,依次递推。把峰值到零点时间给零点到谷值点用。
|