Gast
#141276
Hallo, Ich habe einen Funkempänger (digitaler Ausgang) mit einem AVR verbunden. An einem zweitem AVR ist ein entsprechender Sender angeschlossen. Die Daten möchte ich mittels Manchesterkodierung übertragen. Mein Problem ist jedoch dass der Empfänger Baustein recht empfindlich ist und der Ausgang so auch schon mal bei dem Einschalten einer Schreibtischlampe kurzzeitig auf high wechselt. Das Ausgangssignal ist also nur im Mittelwert Low oder High. Meine bisherige Idee: Mittels Timer Interrupt wird das Signal regelmäßig abgefragt und jedes mal eine Variable A um eins erhöht. Ist das Signal high, so wird auch eine Variable B um eins erhöht. Sobald A gleich fünf, wird nachgesehen ob B größer oder kleiner zwei ist, also ob das Signal mehrheitlich low oder high war. Das Resultat wird in eine Variable C geschoben und der Vorgang beginnt von neuem. C müsste dann ständig nach einem Startbit u.s.w. durchsucht werden. Ich befürchte jedoch dass bei dieser Methode recht viel Rechenleistung benötigt werden würde. Würde meine Idee funktionieren oder gibt es hier eine besser Methode? (Das Signal hängt am Analog Comparator Pin und somit könnte ein Flankenwechsel auch direkt einen Interrupt auslösen). Schon mal Danke im Voraus.