Hi User,
Ich bin dabei ein Programm zur Frequenzmessung zu schreiben, und bin dabei auf ein Problem gestoßen.
Der Ablauf soll folgender sein:
Es wird eine Messzeit von einer halben Sekunde vorgegeben. Innerhalb dieser Zeit, soll eine Zählvariable bei jeder einkommenden Highflanke eines Rechtecksignals, mit TTL Pegel, um eins erhöht werden. Nach ablauf der Zeit wird der Wert der Zählvariable an eine Funktion für RS232 übergeben.
Wie kann man das Erhöhen der Zählvariable in diesem Zeitraum realisieren? Daran scheitert mein Programm noch. Ich glaube es wartet nicht, bis der vorgegebene Messzeitraum abgearbeitet ist.
Ich programmiere übrigens in C, wäre aber auch für einen Tipp mit Assembler dankbar, denn man lernt es ja nebenbei irgendwie auch.
Mein C Quellcode für das Problem sieht so aus:

z=0; //Zählerwert=0
while(messzeit()==1)
{
if (input==1)
{z++;} //Zählerwert erhöhen
}
sendfreq(z); //Zählerwert senden

Input ist dabei die Pegelabfrage des Pins.

MfG TB1