PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Verständnissfrage zu PulseIn



JoeM1978
12.01.2013, 21:13
Folgendes...
Ich frage über PulseIN das Signal eines RC-Empfängers ab und gebe es ohne umwege aufs LCD aus

Pulsein Rcwert , Pinb , 3 , 1
Locate 1 , 1
Lcd Rcwert ; " "

Ich hab nen Atmega8 und eingestellt:

$crystal = 8000000

Laut BAscom-Hilfe

ERR variable will be set to 1 in case of a time out. A time out will occur after 65535 unit counts. With 10 uS units this will be after 655.35 mS.


Sollte PulsIn in 10us-Schritten Zählen...
Das Signal müsste in Nullstellung rund 1500us lang sein.

ABER angezeigt bekomm ich bei Nullstellung einen Wert von 18 (Minimalwert=10/Maximalwert=25)


Kann mir das bitte einer erklären??
Ist Pulsein on einem der Timer oder von einem Prescale abhängig ??

HeXPloreR
12.01.2013, 21:30
Hallo,

so lang kann das Programm garnicht sein, das man es nicht komplett herzeigen kann...
- atmega wirklich auf 8MHz eigestellt? 'ggf auslesen oder mit "LEDblinker"testen
- PinB.3 korrekt als input eingestellt?
- Ist PortB.3 der Pullup mit aktiviert?

- Rcwert as word '?? << mal probieren (-wenn klappt, ggf auf byte reduzieren)
...Lcd " " ; Rcwert '<< mal probieren (-wenn klappt ohne leerzechen(" ")probieren, wenn klappt ohne ("") probieren.)

Viel Erfolg

JoeM1978
12.01.2013, 21:39
Ja... Ich dussel hab gerade die Fuses kontrolliert und gesehen, das er auf 1MHz eingestellt war... das erklärt natürlich alles.
:rolleyes:

Hab das gefixt und auf anhieb stimmen die Werte *gg

Trotzdem danke für den Denkanstoss.

HeXPloreR
12.01.2013, 21:49
Na, das ging ja mal schnell mit der Lösung ;)

...weißt Du denn jetzt was "der Einsteiger" für Probleme hat?