Chcę odczytać Atmegą 8 temperaturę z dwóch czujników DS 18B20, podpiętych do dwóch portów. Program piszę w Atmel Studio Zrodziło się wiele pytań z tym związanych między innymi na temat timingów zmiennych itp. Bardzo proszę życzliwych i doświadczonych o pomoc:
1. Czy właściwym będzie użycie jednego z przerwań do odmierzenia tych mikrosekund?, nie widziałem w żadnym przykładzie takiego rozwiązania Dla czego?
2. Dla czego tak naprawdę standardowe funkcje _delay_us() nie nadają się do tego? Dla czego one nie są dokładne?
3. Widziałem rozwiązania z zastosowaniem bibliotek RKlibAVR Dla czego one są lepsze od tych z WinAVR? czy będą lepsze od wyliczonych opóźnień na podstawie przerwań?
4. Widziałem rozwiązania gdzie do przepisania temperatury odczytanej używano zmiennej typu FLOAT. Wiem że operacje na niej są czasochłonne jednak wydaje mi się że łatwiej na niej wykonywać różne operacje np porównania z innymi liczbami. (na przykład tworząc termostat) Czy na przykład w układzie termostatu zastosowanie FLOAT'ów nie będzie barbarzyństwem?
1. Czy właściwym będzie użycie jednego z przerwań do odmierzenia tych mikrosekund?, nie widziałem w żadnym przykładzie takiego rozwiązania Dla czego?
2. Dla czego tak naprawdę standardowe funkcje _delay_us() nie nadają się do tego? Dla czego one nie są dokładne?
3. Widziałem rozwiązania z zastosowaniem bibliotek RKlibAVR Dla czego one są lepsze od tych z WinAVR? czy będą lepsze od wyliczonych opóźnień na podstawie przerwań?
4. Widziałem rozwiązania gdzie do przepisania temperatury odczytanej używano zmiennej typu FLOAT. Wiem że operacje na niej są czasochłonne jednak wydaje mi się że łatwiej na niej wykonywać różne operacje np porównania z innymi liczbami. (na przykład tworząc termostat) Czy na przykład w układzie termostatu zastosowanie FLOAT'ów nie będzie barbarzyństwem?