Hi Leute,
es geht darum das ich TV-B-Gone mit einem Attiny2313 aufbauen will.
Hardwaremäßig ist alles fertig, nur bei der Programmierung haperts
gerade.
Anbei der Quellcode von TV-B-Gone.
AVR Studio gibt mir beim "compilen" bei der Textzeile n Error:
// turn off output to IR emitter on 0C0A (PB2, pin 14) for offTime
TCCR0B &= 0b11111000; // CS02:CS00=000 to stop Timer0
TCCR0A &= 0b00111111; // COM0A1:0=00 to disconnect 0OC0A from PB2
(pin 14)
PORTB &= 0b11111011; // turn off IR emitter on 0C0A (PB2, pin 14) in
case it was High
delay_ten_us(pgm_read_word(&powerTab[index].offTime));
Bei "TCCR0B &= 0b11111000" gibt es den ersten Error.
Ist da irgendein Fehler drin?
mfg Adrian
>This version of the firmware has the most popular 7 POWER codes for North >America>(which is how many codes fit into the ATtiny2313 2KB flash memory).
Was willst Du damit, da geht kein einziger Fernseher hier aus?
Die meisten Codes vom sind eh 37,4xx Khz.
Deswegen scheint mir das relativ zu sein.
Die Fehlerbeschreibung in AVR Studio ist "../tvbgone.c:606: error:
'TCCR0B' undeclared (first use in this function)"
Also ich hab das grad mal durch meinen GCC gejagt und alles ist
einwandfrei. habs jetzt natürlich nich auf nen Controller geladen, aber
compiled hat er es. Hab mal das hex-file angehängt. Ist für tiny2313 mit
8Mhz (Makefile für Infos auch dabei)
hmm...bei mir hat AVR Studi gemeckert. Aber ich werde deine Hex-File
gleich mal verwenden.
Danke dafür :)
Nein ich habe nichts verändert. Alles so von der Seite kopiert.
Makefile? :)
Ne Makefile gabs nich wirklich, hab die Txt selbst erstellt von
http://www.tvbgone.com/mfaire/tvbgone/tvbgone_na.c hab ich den Code
Hmm...meinen Phillips krieg ich damit nicht aus. Zumindest leuchtet die
LED auf Pin 14 =)
Den Schaltplan hab ich etwas abgeändert (Anhang)
Das Problem kenne ich. Das gleiche Problem wird bei meinem Wohnzimmer
Rechner auch angezeicht. Da habe ich Windows 7 mit AVTR Studio 4.18 und
WinAVR-20090313. Es werden alle Portnamen nicht erkannt. Auch DDRA usw
werden nicht erkannt. Im Code wird TCCR0B auch nicht farbig angezeigt,
richtig?
Ironischer Weise funktioniert es jedoch auf meinem Werkstatt-PC mit
Windows XP SP3, und den gleichen AVR Studio- und WinAVR Versionen.
Entweder liegts an Windows 7, oder irgendwas ist bei der Installation
schief gegangen...
makefile ist eine datei, die du zum compilieren benötigst. dort werden
u.A. grundlegende dinge wie prozessor-typ und taktfrequenz festgelegt.
amch dich einfach mal ein bisschen schlau. google liefert genug infos.
oder schau mal hier:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Ich habe auch Windows 7 und da macht es Zicken :/
Genau! Das wird nicht farbig angezeigt.
Also dank deiner Hexfile leuchtet ja wenigsens die eine LED :)
Danke schonmal dafür
hmmm Moment mal, ich nehme alles zurück. Diene
Neues_Textdokument__2_.txt lässt sich auf meinem Wohnzimmer PC trotzdem
fehlerfrei kompilieren, obwohl die Register nicht farbig angezeigt
werden... Es muss also an etwas anderem liegen...
Also ich arbeite hier auch mit Win 7 Prof. und WinAVR 20100110...alles
gut...vielleicht mal das neuere WinAVR ziehen?...auf den tiny2313 würde
es laut compiler auch passen (93,2% memory usage)
Oh gehts jetz doch?
Ja vllt sollte ich mir die neuere Version mal ziehen.
Also ich hoffe ja jetz eigentlich das es funktioniert. Die LED auf Pin
14 funktioniert jetz und wenn ich den Taster betätige geht sie auch
aus...was aber noch nich UMBEDINGT weiß heißen kann. Weil der Taster ist
ja auf GND + Reset gelegt. Bei meinem Phillips hier funktioniert es
zumindest nicht. Muss ich morgen wohl testweise mal Saturn raiden ;) :D
Mir fällt grade auf, die LED flackert.
Da rattert der µC vllt die Frequenzen durch.
Kann aus der Programmierung leider auch nicht erkennen was diese LED nun
anzeigen SOLL :-D
Tja, ohne Oszi kannst Du nur raten...
Sie wird ein Standard RC Signal senden. Die erste Flanke vollte dann 9ms
haben...
Cool, WinAVR 4.3.3 ist schon draussen, evtl haben sie was optimiert.
Sollte ich einfach mal drüber spielen :c)
Habe vorhin gemerkt, das die "Anzeige-LED" auf dem Port vom Transistor
war und umgekehrt.
Das kuriose flackern der LED war also warscheinlich das Aussenden der
Frequenzen was man sehen konnte.
Habs vor ein paar Minuten umgelötet und getestet...nix passiert...
Außerdem wurd der Transistor VERDAMMT HEISS! Liegt wohl an dem zu gering
bemessenen Vorwiderstand und dem (nicht vorhandenen) Vorwiderstand der
IR-LED.
Werde die Schaltung nachher nochmal aufm Steckbrett aufbauen. Schätze
als Vorwiderstand für den Transistor ca n K nehmen und die Dioden mit
470. Werde auch VERSUCHEN die EU-Codes einzuprogrammieren, da jetz noch
die Ami-Codes drin sind.
Falls ich das nicht hinkriege muss mir hier vllt jemand helfen ;)
IR-LED braucht nicht unbedingt nen Vorwiederstand (gehe davon aus das du
das ganze mit 3 V betreibst). Aber den Transistoren solltest du
unbedingt einen viel größeren Wiederstand gönnen. so ca. das 80fache.
versuchs mal mit 10K.
Wieso nimmst du nicht die original-schaltung (du sagst ja du hast sie
abgeändert, wo hast du die überhaupt her)?
Sooo, ich habe den Code mal etwas abgeändert.
Nur mein Compiler macht wieder zicken.
Kann mir Jemand die Hex mal hochladen von meinem Code?
Vllt läufts ja dann =)
mfg
Ja das weiß ich :) Hab ich weiter Oben schon alles beschrieben.
Er gibt in meinem AVR Studio Fehlermeldungen raus und bei allen Anderen
komischerweise nicht...
Deswegen frage ich ja ;)
adrian schrieb:
> Nein das weiß ich, aber man kann ja den Code einfach in den Compiler> kopieren, ne ;)
Hä ???
Ich weiß ja nicht, womit Du kompilierst.
Aber ich benutze den WINAVR und der will mindestens ein File haben und
das muß *.c heißen.
Peter