// ----- Listing 7: Flankendetektion und Spitzenwert Merker
if(scanPositive){                       // positive Halbwelle
  if(ADCval<-threshold){                // Beginn neg. Halbwelle ?
    EdgeDetected=1 ;                    // Flanke gefunden
    ampl1=maxPos ;                      // Spitzenwert in ampl1 speichern
    scanPositive=0 ;                    // start scanNegative
    maxNeg=ADCval ;                     // Spitzenwert
    }
  if(ADCval>maxPos) { maxPos=ADCval ; } // Spitzenwert neu
  }
else {                                  // negative Halbwelle
  if(ADCval>threshold){                 // Beginn pos. Halbwelle?
    EdgeDetected=1 ;                    // Flanke gefunden
    ampl1=-maxNeg ;                     // Spitzenwert merken
    scanPositive=1 ;                    // start scanPositive
    maxPos=ADCval ;                     // Spitzenwert
    }
  if(ADCval<maxNeg) { maxNeg=ADCval ; } // Spitzenwert neu
  }
