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 :
Ich hoffe das der Code noch irgendwann funktioniert. Vor allem weil ich keinen srf04 hab ums zu testen.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
Gruß Muraad







Zitieren

Lesezeichen