Aide pour Sonde Temp + Hum (AM2305) base DS18D20 onewire

Salut,

Artouste:
ça c'est pour etre au plus proche des 10µs ?

Si ça fait 10µs en vrai c'est vraiment un sacré coup de chance ...
L'optimisation du compilateur devrait complétement rasé les "i++" pour faire un seul "i += 70;"

Artouste:
en dur c'est la meilleure méthode de prog en C ?

Pas vraiment ... pour faire un delai de 10µs la seul vrai solution sur AVR c'est :
http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html#gab20bfffeacc678cb960944f5519c0c4f

Sinon en pure C c'est impossible d'avoir 10µs exactement, ça dépend du cpu, de la fréquence d'horloge et de plein d'autre facteurs.

Artouste:
ça revient a l'equivalent multiple du NOP en ASM ?

Non ici c'est un post-incrémentation, pas un nop.

A F_CPU = 16MHz pour faire un delai de 10us il faut 16E6 * 10E-6 = 160 cycles cpu soit :

inline void delay_10us(void) {
    asm volatile(
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
	"nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
    ::);
}