Nachdem die RS232-Kommunikation bis 2400baud mit
internem 1 MHz-Freilaufoszillator keine Probleme bereitet,
ist nunmehr endlich die IR-Eingabe dran:
Die (versuchsmässig erstmal vorgesehene) Taktung mit
internen 4 MHz und 8 MHz - Freilaufoszillator sollte jetzt
der nächste Schritt sein. Dass ich dabei das einfache
LPT-Dongle mit den 3 Widerständen auch weiterhin
nutzen kann, wurde mir hier im Forum ja bestätigt,
ich, dass klappt dann auch.
Gehe ich recht in der Annahme, dass ich dabei kein
Fusebit ändern muss und dass es reicht, wenn ich
in der regfile lediglich 8000000 oder 4000000 statt
bisher 1000000 eintrage?
Vielen Dank und viele Gruesse
Micha
Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...
Nein, die $crystal brauch der Compiler um z.B. wait 1 zu berechnen, also für die interne Kalkulation. Nur die Fuses ändern auch tatsächlich die Taktfrequenz des Controllers.
Der LPT-Programmer funktioniert auf höherer Taktung, andersherum ists doofer. Wenn Du z.B. mit nem schnellen Programmer flashen willst MKII z.B., dann kann es sein das der für nen AVR im Aulieferungszustand bei 1MHz zu schnell ist.
Hatte vor Jahren mal rund 200 Boards zu flashen und dafür den MKII benutzt, hab mir dann n Script geschrieben, das den Programmer erst langsam stellte, dann die Fuses auf extern 16MHz, dann den schnellen Gang im ISP und erst dann das Hexfile.
Hätte sonst ewig gedauert.
Vor den Erfolg haben die Götter den Schweiß gesetzt
Sorry für die Pingeligkeit: mit den Fuses wird ein Controller auf externe oder interne Taktgeber eingestellt. Daher auch der beliebte Anfängerfehler nen Controller auf Quarz einzustellen ohne dass ein Quarz oder Resonator vorhanden ist. Ist kein großes Problem - aber erstmal läuft dann nix mehr . . ... Nur die Fuses ändern auch tatsächlich die Taktfrequenz des Controllers ..
Hmm, erstmal danke fürs allgemeine Feedback,
ich bleibe wohl jetzt beim internen 1MHz-Freilaufoszillator.
Das mit den Fusebits ist mir zu riskant. Die Hardware
funktioniert, ich werd jetzt mit einem temporären
Testprogramm den Impulsfahrplan diverser FBs loggen
und das mit meiner jetzigen Schaltung, dann mittels
RS232, der funktioniert ja auch, auf den HTterm
ausgeben. Da ich ja nur die Tasten 0-9 und 4
zusätzliche Funktionstasten brauche, drösele ich mir
das raus und versuche mir den Code selbst
zurechtzubasteln. Über die Erfolge berichte ich dann.
VG Micha
Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...
aber erstmal läuft dann nix mehr . . .
Stark übertrieben - einfach an den Takteingang einen (fast) beliebigen Takt hängen - und schon geht's wieder (Ein Kollege behauptet, es mit einer
einfachen 50cm-Draht-Antenne geschafft zu haben!). Die Fuses als Grund zu nehmen, nicht mit höherem Takt zu arbeiten, halte ich für den falschen
Ansatz.
Und ansonsten nimm XMEGA, da ist das ganze Geraffel mit den Fuses fast vollständig entsorgt worden.
mfg
Achim
Hi Micha!
Tu was Du nicht lassen kannst - aber ich habe mittlerweile San Bergmans Internet-sites zu VIELEN IR-Codes wieder gefunden. Den Einstieg dazu hatte ich vor einem Monat gepostet, leider hatte ich damals seine feine Navigation übersehen. Die ist auf der eben verlinkten Seite oben rechts:
......Bild hier
Wenn Du dort auf den Pfeil > klickst, dann tut sich für Dich ne knowledgebase auf, die jede Menge IR-Codes, wohl über ein Dutzend!, ausführlich beschreibt einschließlich vieler vordefinierter Codes der einzelnen Tasten. Damit könntest Du Dir ne ganze Menge Arbeit ersparen . . . Aufgrund dieser Informationen hatte ich auch meine Programmierung z.B. des RC-5-Codes (Manchestercodierung) ausgearbeitet:
Code:/* ============================================================================= = ============================================================================= = Beispiele für RC-5-Signalgang/Manchester-Codierung | | | | Bitdauer 2x889 µs (2*17,78 tupsi) => 1,778 ms/35,56 tupsi +---+ | | +---+ Für den Wert des Bits ist Übergang in Bitmitte massgebend |HHH| | | |HHH| |HHH+---+ +---+HHH| ==> Übergang von 1 nach Null <=> Bitwert 0 |Logic 0| |Logic 1| ==> Übergang von 0 nach 1 <=> Bitwert 1 | | | | | | | | | | | +-+-+ | +-+-+ | +-+ +-+-+ +-+ +-+ | 1 Bit 1,778 ms / 35,56 tupsi | | | | | | | | | | | | | | | | | | | 14 Bit 24,892 ms / 497,84 tupsi +-+ | +-+-+ | +-+-+ +-+ | +-+ +-+ +-+ Gap 114 ms / 2800 tupsi Bit- | | | | | | | | | | Wert 1 0 1 0 1 1 0 0 0 ============================================================================= = =============================================================================*/
Geändert von oberallgeier (12.02.2019 um 10:34 Uhr) Grund: Nachtrag Schema Manchestercodierung
Ciao sagt der JoeamBerg
Vielen Dank erstmal für die Infos zu den Codes.
Das andere werde ich jedoch trotzdem versuchen,
da einerseits der ATmega162 im Betriebszustand eh
nichts zu tun hat, andererseits ist es reine Neugier,
mal zu versuchen, unbekannte Codes - nicht nur IR -
durch Absamplen und Loggen von Impulspaketen
zu verstehen. VG Micha
Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...
Gut, das finde ich gut. Das hatte ich auch so gemacht/gesehen, als ich das erste Mal über die IR-Fernsteuerung meines archie ging. Ich hatte bei der Decodierung der Codes auch die tatsächliche Bitfolge ( 100 1101 ) ausgegeben aufs Terminal. Das war SEHR nützlich. Einfach die Abfrage.. reine Neugier, mal zu versuchen, unbekannte Codes - nicht nur IR - durch Absamplen und Loggen von Impulspaketen ..
if Bit gesetzt dann schreibe "1", sonst schreibe "0"
. . . keine Ahnung wie das in Bascom wäre. Wirklich empfehlenswert, hatte mir mehr geholfen als der nackte Zahlenwert - der auch ausgegeben wurdee *gg*.
Viel Erfolg
Ciao sagt der JoeamBerg
Lesezeichen