Hallo, ich möchte über ein Arduino mit einem ATmega168 einen AD-Wanlder über SPI auslesen. Das Auslesen an sich ist auch nicht das Problem, jedoch eher der Ruhezustand. Der AD-Wandler liegt an 230V und über einen ADum7643 übergebe ich die Daten galvanisch getrennt per SPI an den mega. Nun habe ich angefangen alles aufzubauen. Habe also meine Arduino Platine genommen und das Programm aufgespielt und mal den Seriellenmonitor angesehen. Ohne dass etwas an den SPI Ports angeschlossen ist, bekomme ich bereits Werte angezeigt. Diese sind zwar sehr konstant dürften aber eigentlich nicht da sein. Auch komisch, wenn ich den Monitor ansehe und die Netzspannung an den AD-Wandler Anschließe so passen die Werte nicht mehr oder das System bleibt hängen. Also hilft nur noch ein Reset des ATmega. Komisch ist auch, wenn ich den Seriellenmonitor nicht ansehe werden scheinbar auch keine Werte übertragen, jedenfalls leuchtet die RX TX LED nicht, wenn ich aber ein Programm schreibe welches bewusst jede Sekunde etwas sendet, leuchtet die LED auch ohne Monitor. Kann es sein, dass der Seriellemonitor hier nur verwirrt? Gruß
Retorte schrieb im Beitrag #3272945: > P.S.: Arduinos sind nicht SPI-kompatibel. Bitte? Was soll denn diese Ausage? Ich könnte dir tausend Dinge sagen, was Arduinos NICHT sind (gut, sinnvoll, zu empfehlen), aber SPI sollte damit kein Problem darstellen. > Kann es sein, dass du keine Ahnung hast was du da machst? Ich glaube das trifft auf dich zu.
Retorte schrieb im Beitrag #3272945:
> P.S.: Arduinos sind nicht SPI-kompatibel.
falsch.
Ähm Fachmann, Arduino --> PC über USB richtig, Arduino --> AD-Wandler über SPI ;)
Das weiß ich nicht erst seit heute was hier so rum liest :) Also wie gesagt sobald ich das Terminal Programm starte empfange ich irgendwelche Signale, wenn ich es nicht offen habe, empfange ich nur Signale wenn diese auch gefordert werden also wie programmiert. Aber bei beiden Vorgängen also mit Terminal und ohne bleibt der ATmega irgendwann einfach hängen!
Jetzt verstehe sehe ich. Es gibt eine SPI Library für den Arduino, obwohl der SPI nicht beherrscht. Was für eine Verschwendung. Na ja, ich hab ja auch keine Fachwissen. :-P
Gut jetzt mit dem lächerlich machen, jeder macht Fehler ;) Nun zu meinem Problem mit dem SPI bitte :)
Ich muss zugeben, dass mir dein Problem noch etwas unklar ist. Mir würde es helfen, wenn Du: - Den Arduino Sketch posten könntest - Eine kleine Skizee des Aufbaus anhängen würdest (Ein paar Kästen (Arduino, AD-Wandler, Steckdose) und Linien die die verbinden) - Den genauen Anschluss des Wandlers an den Arduino beschreibst. (Welche Pins sind mit welchen verbunden?) > Ohne dass etwas an den SPI Ports angeschlossen ist, > bekomme ich bereits Werte angezeigt. Das sollte normal sein, die Pins floaten halt in der Gegend rum.
Ok habe was gefunden. Ich lese ja nur Werte aus, wenn in einem der Register steht, dass werte drin sind und nach dem auslesen wird das Flag gelöscht. also muss irgendwo her beim auslesen die MCU der meinung sein, dieses flag gelesen zu haben, obwohl es real gar nicht da ist!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.