Hi,
ich habe Impluse über Encoder (links/rechts) 255 pro Umdrehung, Analogwert Umwandung fertig, Timerüberlauf für Zeitmessung und I2C Bus Kommunikation.
Das ganze könnte wohl relativ werden, wenn die Interrupt-Anforderung stehen bleibt und sofort ausgeführt wird,
wenn Interrupts wieder aktiv sind. (Ist das so ?). Da ich derzeit noch 16Mhz verwende, sollte der Zeitunterschied minimal sein.
Würde eine Anforderung verschluckt werden, ist dies eindeutig ein "no go".
Gruss R.
Kaum macht man es richtig, schon funktioniert's ...
Da hast Du wohl recht.
Ich kam jedoch bis jetzt nicht dazu, mich näher mit dem Problem zu beschäftigen. Da ich durch weitere Fragen/Antworten erst tiefer auf
die Problematik gestossen bin. Auch will ich erst noch testen, was mein Programm macht, wenn ich das Hauptprogramm abschalte und die Variablen mit festen Werten belege. In diesem Fall darf sich in meinem Log-File nichts ändern. Ist der Fehler dann immer noch da, liegt noch wo anders ein Problem. Die Problematik mit dem Interrupt würde dann erst noch kommen.
Das Datenblatt, etwas über 340 Seite habe ich am Anfang der Amtel-Zeiten in den wichtigsten Punkten gelesen. Ebenso das Tutorium.
Nur vergisst man(n) das eine oder andere wieder, wenn es nicht aktuell ist. Für Interrupts werde ich das heute abend nachholen tun.![]()
Gruss R.
P.S.: Ach könnte ich mich doch nur noch mit meinem Roby beschäftigen, was wäre das schön. Wäre da nicht alles mit dem Laut "au", welche mir immer Sorgen machen.
Kaum macht man es richtig, schon funktioniert's ...
Es scheint erstmal ein Problem des Embeeded Linux Kernel zu sein,
da dieser Fehler auch bei abgeschalteten Hauptprogramm auftritt.
Nach einer Erweiterung des Logfiles um die Zugriffsdaten auf den Kompass konnte ich änliche Effekt feststellen.
Ich werde also erstmal den Linux Kernel aktualisieren, wenn der Hersteller mir ein Problem im Kernel bestätigt,
bevor ich hier weiter schaue.
Auch habe ich begonnen, nochmals die gesammte Verkabelung des I2C Bus jetzt mit Cat5e Kabel durchzuführen. Hier werde ich den Schirm jeweils auf beiden Seite auf GND legen. Auch werden hierbei alle Adern (verdrillt) verwendet, was eine Verstärkung der Drahtquerschnitts bedeutet. Ich hoffe hier Störungen durch Funk oder magnetischer Natur weiter zu drosseln, wenn vorhanden.
Übrigens, der Fehler tritt alle 2..3 tausend Kommunikation einmalig auf, ohne einen Fehlercode von der Funktion zurückzumelden.
Gruss R.
Geändert von Ritchie (17.05.2012 um 18:24 Uhr)
Kaum macht man es richtig, schon funktioniert's ...
Lesezeichen