-skunk-
18.01.2011, 11:13
Moin zusammen,
ich möchte mit einem ATmega324PA via I²C einen SRF02 auslesen. Dazu habe ich den Beispielcode benutzt. Ich habe nun schon fast das komplette Internet durchgelesen, komme aber nicht auf gute Ideen. Daher hoffe ich, dass ihr mir in meiner Verzweiflung weiterhelfen könnt ^^
Hier mal die Daten und das Problem:
F_CPU ist 3686400 Hz
F_TWI ist 230400 Hz
Pullups sind dran (4k7)
Ich habe das Problem, dass der Sensor manchmal funktioniert, "sogar" bei 75ms Wartezeit auf getRange(). Der µC hat sonst nichts zu tun, um die Tests nicht zu verfälschen. Wenn ich ihn nun aber resete passiert es, dass sich das Programm nach einem Blinken des SRF02 aufhängt. Gelegentlich passiert es, dass das Programm läuft, der SRF02 aber nicht blinkt und somit auch nicht ausgewertet wird. Meine bisherigen Ideen waren, dass es an der Software liegt.
Wenn ich die Platine allerdings eine Weile liegen lasse, KANN es sein, dass es wieder alles einwandfrei funktioniert. Nach einem Reset geht dann aber wieder nichts. Ich habe schon mit den Startupzeiten des Atmel experimentiert, dem SRF02 eine ganze zusätzliche Sekunde zum "hochfahren" gegeben, aber immer wieder den selben Fehler erhalten.
Ich würde mich sehr freuen, wenn ihr mir da irgendwie helfen oder Tipps zur Fehlersuche geben könntet, ich geh hier echt gerade kaputt daran :\
Schon mal vielen Dank!
ich möchte mit einem ATmega324PA via I²C einen SRF02 auslesen. Dazu habe ich den Beispielcode benutzt. Ich habe nun schon fast das komplette Internet durchgelesen, komme aber nicht auf gute Ideen. Daher hoffe ich, dass ihr mir in meiner Verzweiflung weiterhelfen könnt ^^
Hier mal die Daten und das Problem:
F_CPU ist 3686400 Hz
F_TWI ist 230400 Hz
Pullups sind dran (4k7)
Ich habe das Problem, dass der Sensor manchmal funktioniert, "sogar" bei 75ms Wartezeit auf getRange(). Der µC hat sonst nichts zu tun, um die Tests nicht zu verfälschen. Wenn ich ihn nun aber resete passiert es, dass sich das Programm nach einem Blinken des SRF02 aufhängt. Gelegentlich passiert es, dass das Programm läuft, der SRF02 aber nicht blinkt und somit auch nicht ausgewertet wird. Meine bisherigen Ideen waren, dass es an der Software liegt.
Wenn ich die Platine allerdings eine Weile liegen lasse, KANN es sein, dass es wieder alles einwandfrei funktioniert. Nach einem Reset geht dann aber wieder nichts. Ich habe schon mit den Startupzeiten des Atmel experimentiert, dem SRF02 eine ganze zusätzliche Sekunde zum "hochfahren" gegeben, aber immer wieder den selben Fehler erhalten.
Ich würde mich sehr freuen, wenn ihr mir da irgendwie helfen oder Tipps zur Fehlersuche geben könntet, ich geh hier echt gerade kaputt daran :\
Schon mal vielen Dank!