Bitte Hilfe!!!!!!
Ich habe meinem Bruder versprochen für seinen selbst gebastelten
Tannanbaum mit drei verschiedenen Farben LED'S (jeweils gemeinsame
Anode, Parallelschaltung => BS170 pro kreis) einen Attiny13 so zu
programmieren, das der Baum blinkt.
Ich schaffe es beim bestenn Willen nicht avr-gcc irgendwas zu entlocken
was auch nur annähernd das tut.
Kann mir jemand helfen Bitte bitte?
Der Baum muss bis Samstag fertig sein, das ist mein Problem.
Danke
Bette 3 Vaterunser und 4 Ave Maria und es wird funktionieren...
nein ernsthaft, niemand wird dir weiterhelfen können, wenn du dein
problem nicht genauer umschreibst...
Reichen auch 4 Rosenkränze?
Sorry ich verzweifle langsam wirklich
Also ich möchte einen Attniy13 dazu bringen das er einen von drei
Ausgängen für eine bestimmte Zeit (2s) 5V ausgibt und dann den Ausgang
wieder auf 0 legt und den nächsten auf 5V usw. sodass der Tannenbaum
blinkt.
Das wäre meine Rettung.
reicht das als genauere Erklärung?
Danke für die schnelle Antwort.
Am besten, du beschreibst mal, welche Hürde du gerade nicht nehmen
kannst. Wo klemmts denn genau?
So, wie du es schreibst, müsste man dir ein ganzes Tuturial schreiben.
Apropos Tutorial - das hast du gelesen?
Ist die Schaltung denn fertig? Hast du was um den uC zu programmiern?
Wenn ja, dann stell mal nen kleinen Schaltplan rein an welchem Pin die
LEDs hängen, dann schreib ich dir fix des Prog falls es wirklich nur um
das GEblinke geht.
Ich habs gelesen.....
mit dem verstehen ist das immer sonne Sache ;-)
also, eigendlich sollte
MCU = attiny13
FORMAT = ihex
Target = main
SRC = main
als makefile doch reichen.
Es funktioniert aber nicht. Compiler bricht ab....
Ich bin echt verzweifelt und seh vielleicht den Wald vor lauter Bäumen
nicht mehr.
Einfach einen Timer-output-compare-Interrupt so dimensionieren (Teiler,
output-compar-INT) dass er 1 (oder 2) sekunden ausgelöst wird und in der
INT-Routine die Ausgänge immer einen weiterschalten. Fertig.
Beispiel:
FCPU: 16MHz
Timer1 (16bit) wird benutzt
TCCR1A = 0b00000000;
TCCR1B = _BV(ICES1)|_BV(WGM12)|_BV(CS12)|_BV(CS10)|_BV(ICNC1);// Teiler
/1024, CTC - Mode
TCNT1 = 0; // Timer rücksetzen
OCR1A = 15624; // OCR1A = 15625 (16MHz 1024 15625 = 1s)
Löst den OCR-Interrupt 1x pro Sekunde aus.
Im Makefile hast hoffentlich mehr als nur die 4 Zeilen stehen?! Das sind
nur die Werte, die du geändert hast?
Falls nicht undbedingt Makefile neu machen (beim Standard nur die
entsprechenden Änderungen machen) oder auf AVR Studio umsteigen.
Mach' noch einen 270-Ohm-Widerstand zwischen Gate und Portpin, ist
besser für den µC. Ansonsten wie oben gesagt: Timer zum umschalten
benutzen. Falls der Tiny13 keinen 16-Bit-Timer hat, 8-Bit un's auch,
dann halt die Überläufe zählen bis 2s um sind, dann die Portpins
umschalten.
Sorry berechtigte Frage, wenn man auch Falsche Symbole benutzt die
Portpins kommen links unten dran, da wo das zweite mal vcc steht. (OK
ich gebs zu ungeschickt aber...)
Danke das so viele versuchen zu Helfen.
Und wo sind bei deiner Schaltung jetzt die Portpins angeschlossen?
"Es funktioniert aber nicht. Compiler bricht ab...." ist übrigens eine
ziemlich nutzlose Beschreibung des Problems. Der Compiler wird nicht
einfach so aus Spaß kommentarlos abbrechen, sondern eine Fehlermeldung
ausgeben. Am besten zeigst du mal dein Programm und die Ausgabe des
Compilers (per copy/paste bitte, nicht irgendwas abgetipptes, was du für
sinngleich hälst).
Metrux, ist ein hardware, oder ein software problem...
zeig uns mal einen kompleten schaltplan mit uc, und den code den du
verwendest, und schreib uns die fehlermeldung die kommt, dann wirst du
wessentlich präzisere antworten bekommen und sicher zum ziel kommen...