so moin moin erstmal :D
hab da so ein problem:
habe seit einigen tagen das "micrcontrollerlernpaket" von franzis...
bin da auch fleißig am lesen und machen aber bei mir kommen so langsam
zweifel auf...
ich möchte eine led mithilfe von schleifen und prescaler eine blinkdauer
von etwa einer sek erzielen...das funktioniert theoretisch auch...
nunja aber paraktisch nicht!
habe schon diverse möglichkeiten durch wie ich pb3 anschalte ne sek
anlasse und dann wider aus mache...
aber es funktioniert alles nur wenn ich es simuliere (avr studio4)
im anhang is eine der möglichkeiten...so habe ich mir das vorgestellt
bin für anregungen aller art offen ;) bin schon total verzweifel und
hoffe auf schnelle hilfe
wie gesagt das prog funktioniert bei mir wenn ich es simuliere ..ein
durchlauf (aun-aus) dauert ca 2s....aber wenn ich es aufspiele passiert
nix...diverse testschaltungen aus dem "lernpaket" habe ich auch
aufgespielt... die funktionieren teilweise ^^
ich hab keine ahnung wo hier der fehler liegt..(die übersichtlichkeit
sinkt proportional zum frust.. hab mir da nich mehr soo viel mühe
gegeben...)
Hallo,
was macht oder soll diese Passage machen?
;prescale
ldi count0 , 5
out tccr0b , count0
Ansonsten: wenn die LED leuchten soll, sollte man den Portpin auch als
Ausgang schalten.
z.B. mit
sbi ddrb,0
nach Start:
bevor man versucht, L oder H auf den Ausgang zu bekommen.
PS: da war doch spess53 (Gast) schon wieder schneller... ;-)))
Gruß aus Berlin
Michael
oh man geht das hier schnell :D
ja da stimme ich euch zu
man muss den laut euch und buch ddrb und portb setzen...
wenn ich aber
"sbi ddrb, 3"
sage dann setzt er nachdem er den 2. register der schleifen geladen hat
pinb, 3 ... also macht es zu einem ausgang soweit ichs verstanden hab..
das darf ja auch nich sein dann leuchtet nix,
wenn ich ddrb, 3 weglasse macht er pinb, 3 nich an
ich vertsehs nich...
also das bezieht sich auf die simulation ..nich auf die praxis ^^
Hallo c0sta,
du setzt einen Prescale für den Timer verwendest diesen aberv nicht.
Dein Programm startet mit dieser Aktion, den Jump der auf diesen
Sprungvektor gehört hast du verschoben.
Du schreibst von PB3, setzt/löscht jedoch PB0 und da PB0 nicht als
Ausgang definiert ist schaltest du damit nur den PullUp.
Bei deinen Schleifen fehlen teilweise die Nachladewerte.
Ich nehme an, daß ein teil der Fehler auf Frust beruht.
Außerdem ist aller Anfang schwer.
Hier gibt es einige gute Hilfestellungen, auch deinen Sekundenblinker:
http://www.avr-asm-tutorial.net/avr_de/index.html
avr
Hi
>also das bezieht sich auf die simulation ..nich auf die praxis ^^
Nein. Du kannst PortB,0 setzen (Real und in der Simulation), aber wenn
es nicht auf Ausgang gesetzt ist, kommt nichts an. Wenn man bei einem
Eingang PortX,y setzt, wird der interne Pull-Up-Widerstand
eingeschaltet. Bei einem Ausgang wird das Portpin gesetzt.
MfG Spess
Okay vielen dank :D
werde mich erst noch mal gründlich informieren bevor ich alles
hinwerfe...ja aller anfang is schwer ;D ... aber ich gebs nich auf
finds klasse das es hier so viele hilfsbereite menschen gibt :D
ach das bier hab ich mir aufgemacht weil ichs mir vedient hab :D
... sooo hab das ganze jetz noch mal mit timer und counter und n paar
schleifen gemacht :D
is recht konfus geworden aber funzt^^
hat ne blinkdauer von etwa 1,5 - keine ahnung..viel :D
;