Jetzt ist mir noch was aufgefallen. Du musst in der Datei avr/delay.h neuerdings deine CLK Frequenz einstellen also bei dir 8Mhz. Dadurch ist warscheinlich das hier
_delay_us(15); // Laut Datenblatt Trigger-Puls min 10us auf high
falsch und die Ergebnisse spinnen.
Und ich hab noch nen kleinen Fehler im Code oben verbessert.
Auszug aus avr/delay.h :
Code:
/** \defgroup avr_delay Busy-wait delay loops
\code
#define F_CPU 16000000UL // 16 MHz <---------- Hier musst du es ändern also einfach ne 8 aus der 16 // machen Zeile 45
//#define F_CPU 14.7456E6
#include <avr/delay.h>
\endcode
Ich hoffe das der Code noch irgendwann funktioniert. Vor allem weil ich keinen srf04 hab ums zu testen.
Gruß Muraad
Lesezeichen