Mam problem jestem początkujący napisałem program który ma za zadanie regulować włączanie wiatraka i czas z jakim ma dmuchać , jednocześnie mierzy temperaturę i nie działa tak jak powinno : Temperatura pokazuję co jakiś czas błędny pomiar np 124 , 32 , 98 procek się resetuje chińskie znaki raz na jakiś czas w programie można było ręcznie zmieniać czas...
Z tego fragmentu nie wiadomo czy używasz przerwań. Może wywołujesz jakieś przerwanie i jego obsługa zajmuje tyle czasu , że przychodzi następne przerwanie i program się pętli ( jedyne co robi to obsługuje przerwanie )
- Starujesz pomiar temperatury w DS18B120. - ustawiasz jeden Timerów na 750ms i odblokowujesz przerwanie od niego - wykonujesz inne działania - gdy upłynie 750ms zostanie zgłoszone przerwanie i będziesz wiedział że możesz odczytać zmierzona temperaturę JarekC
Można oba odczyty dać do przerwania. Zliczać je i co któreś przerwanie robić odczyt. Czyli timer, np. przerwanie co 250 ms - co 3 przerwanie robisz odczyt temp. (w pierwszym dajesz polecenie konwersji, w 3 odczyt), co 8 przerwanie odczyt wilgotności.
Witam Z racji wolnego dnia postanowiłem jeszcze dokładniej poznać budowę DS18B20 (czasem trzeba sobie co nieco przypomnieć). Odpalam program który zawsze działał i tu niespodzianka... DS działa prawnie do 32 stopni a jeśli temperatura przekroczy ten próg bez względu na to co jest wyświetla 85 stopni aż temperatura nie zjedzie poniżej tego progu. Problem...
Witam Kupiłem sobie DS18B20 wodoodporny z metrowym przewodem. Podłączyłem go do '51, Vcc, Masa i dane przez rezystor 4,7koma do plusa. Termometr zaczyna działać dopiero jak się go podgrzeje powyżej 30 stopni Celcjusza. Po ostygnięciu poniżej tej temperatury znów nie działa. Testowałem z drugim identycznym termometrem, ale ten drugi zaczyna działać powyżej...
Witam ! Zrobilem sterownik do pieca CO. Jako czujniki temperatury wykorzystalem DS18B20. Wszystko dziala, tylko, ze po pewnym czysie odczyt z czujnikow jest rony 0 C. Po wyjeciu wtyczki czujnika sterownik wyswitla 255 C i to jest normalne. Po jej ponownym wlozeniu pokazuje jakas temperature, ale nie rzeczywista i spada on po jednym stopniu co odczyt....
Wyczytałem, że czas odczytu czujnika to 750ms To zależy od ustawionej rozdzielczości dla sensora: https://obrazki.elektroda.pl/2866156500_... Chodzi o czas potrzebny na ustabilizowanie się pomiaru (konwersji) od momentu zażądania pomiaru do odczytu temperatury. Dodano po 6 Używając przerwań czasowych (TIMER1 co 1ms), Przerwanie...
Zabralem sie za termometr ds18b20. Wczesniej korzystalem z niego, wartosc temperatury wyswietlalem na LCD'ku i wszystko dzialalo. Teraz powrocilem do ukladu z ta roznica ze wart. temperatury wyrzucam szeregowo na kompa. Problem polega na tym ze w hyper terminalu wyswietla mi caly czas jedna wartosc (88). Kiedy wyciagam, w czasie pracy, procka uklad,...
Witam wszystkich Elektrodowiczów! Otóż muszę użyć układu DS18B20 do pomiaru temperatury. Sięgnąłem po niego, gdyż kiedyś go używałem i działało wszystko OK ;) - jednak nie tym razem :/. Chcę wykonać po prostu zwykłą pojedynczą konwersję temperatury i odczytać ją ze ScratchPada. Wykonuję: 1. Wysyłam Presence Pulse do DS18B20. 2. Otrzymuję "1". (zapala...
Witam, mam problem z termometrem DS18B20 gdyż nie chce mi odpowiadać na mój wysłany bit. Chodzi dokładnie o pierwszą funkcję sprawdzającą układ czyli o RESET. Z użyciem warunków presence zawsze wynosi 1, a aby działał poprawnie powinien posiadać wynik 2. Mój kod: [syntax=cpp] uint8_t Reset(void) { uint16_t presence=0; WireOff(); WZDelay::delay_us(480);...
Pokaż chociaż kawałek kodu to zobaczymy jak to zrobiłeś. Do przemyślenia podam kilka przybliżonych wartości. Odczyt 9 bajtów z DS18B20 (razem z CRC) trwa ~7ms Odczyt tylko dwóch bajtów ~3ms Multipleksowanie 4 LED7Segment to najcześciej 200Hz czyli co 5ms Obsługa wyświetlaczy w przerwaniu trwa ~ 5 us przy 8MHz Napisz przerwanie optymalniej a Dallas nawet...
Witam Wiem, ze o DS1820 było juz bardzo duzo watkow ale niestesty nie znalazlem w nich odpowiedzi na moj problem. Zbudowalem sterownik wiatrakow do obudowy PC w którym jako czujniki mam wlasnie DS18B20. Czujnikow w ukladzie jest szesc, problem polega na tym ze 3 z nich dzialaja super i wskazuja temp a trzy kolejne pokazuja ciagle 85*C, zupelnie tego...
Witam, wykorzystuję układ ds18b20 do pomiaru temperatury. Układ działa prawidłowo przez około 30s od załączenie zasilania. Następnie odczyty pokazują temperaturę 9 lub 10stopni. Podczas normalnej pracy temperatura jest przetwarzana prawidłowo. Do pull-up'a wykorzystuję wewnętrzny rezystor podciągający uC. Czy ktoś spotkał się z podobnym problemem? Co...
WITAM! MAM SZYBKIE PYTANIA: CZY PRZY ODCZYCIE TEMP. Z DS18B20 TEZ CO KTORYS POMIAR MACIE 85 ST. (CZYLI BRAK POMIARU)?? DA SIE TO JAKOS WYELIMINOWAC (WYDLUZANIE CZASU KONWERSJI NIE POMAGA) - NIE CHODZI MI O ROZWIAZANIE TYPU "IF(TEMP!=85)......"?? Z GORY DZIEKUJE I POZDRAWIAM!
Mam mały problem z termometrem DS18B20. Dotyczy on "zrywania" transmisji przy temperaturze powyżej ok 45..50 degC (dwa dzialały do 65 C), w niższej temperaturze i/lub po ostudzeniu wszystko zachowuje się poprawnie. Przy obniżeniu napięcia zalilania DS18B20 (przy lini trójprzewodowej) do ok 4V temperatura pracy wzrasta średnio o 5K. Czy ktoś mial podobny...
czy na 1-wire musze za każdym razem nadawania danych do slave, wykrywac czy znajduje sie na szynie, czy tylko raz po włączeniu zasialnia.
Witam. Prosze osoby obeznane w temacie o pomoc w znalezieniu błędu w poniższych podprogramach obsługi termometru. Całe urządzenie ma wyświetlać temperature z dokładnością do 1stopnia Celsjusza. W programie wykorzystuje dwa przerwania : od licz. T0 do wyznaczania sekundy , i po upływie tej sekundy w procedurze przerwania wywołuje procedury : ;upłynęła...
Cześć. Wielokrotnie już elektroda ratowała mnie pomocną ręką, mam nadzieje, że i tak dziś będzie. Staram sie napisać własną obsługę dla ds18b20 dla atmega8. Sporządziłem wstępny kod "biblioteki" (gdy zacznie działać zrefaktoryzuje kod celem jej uogólnienia). Jak narazie jedyna funkcja która mi działa to reset i presence pulse. Dalej w zasadzie odczytuje...
Mam dziwny(?) przypadek. Piszę tutaj, bo to niejako dotyczy tego układu. Podłączam DS18B20. Przewód 1m - ok. Wszystko pięknie działa. Przewód 4m - zamiast 4 dallasów w układzie widzi 18, 13, losowo. Do tego nie rozpoznaje żadnego. Co jest powodem - rezystancja linii??
Co może być przyczyną, epizodycznego wyrzucania wartości zerowych przez ten czujnik temperatury?
Witam. Dostałem 4 sztuki ds18b20 w samplach i konstruuję termometr do szkoły. Napisałem program,udało mi się połączyć z czunikami i wyświetlić temperaturę na LCD,wszystko było ok. Oba czujniki miałem zamontowane na płytce prototypowej(mam na niej zmontowany cały układ). Po pierwszych testach przylutowałem do jednego czujnika skrętkę o długości ok 30...
Witam właśnie uruchamiam urządzenie z powyższym układem. U mnie w domu temperatura powietrza jest ustawiona około 20*C, na biurku pod lampą i blisko komputera może być oczywiście cieplej. Mam kilka sztuk tego układu, dwa z "nowej" serii i jeden "antyk". Żaden z nich nie był nigdy lutowany. Wszystkie 3 sztuki pokazują temperaturę od około 27*C do prawie...
Witam. Zachodzę w głowę co może być przyczyną dziwnego zachowania czujników. Układ działa w trybie 1-wire, 2 przewody. Opornik pomiędzy linią informacyjną a 5V to 4.7kOhm. http://obrazki.elektroda.pl/8348646300_1... Ma to wyglądać jak na obrazku. Jeśli podłącze 4 czujniki do 2 'huba' wszystko działa i podaje prawidłową temp. Wystarczy...
Potrzebowałem szybko wykonać tani przenośny zestaw do pomiaru temperatury na odległość ok. 30 m. Kupiłem gotowy moduł tablicowy do DS18B20 i oczywiście sam DS18B20 na kablu 1 m. Po podłączeniu DSa do modułu wszystko działa OK. Natomiast podłączenie poprzez kabel 30 m nie działa (na wyświetlaczu jest 0.00 czyli jakbym nic nie połączył). Do przedłużenia...
Proszę bardzo, przykładzik jest lekką modyfikacją liczenia czasu w przerwaniu z książki Wiązani. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 On Timer0 Przerwanie Dim Licznik8ms As Word Dim Flaga As Bit '1 juz czas, 0 jeszcze nie Enable Interrupts Enable Timer0 Load Timer0 = 250 Do 'wyslanie komendy...
To będzie termometr do basenu(mierzenie temperatury wewnątrz i zewnątrz). Czyli tak jak pisałem - nie ma sensu robić pomiarów częściej niż co 30 sekund, bo to nic nie da. Temperaturę będziesz mierzyć co najwyżej do 1 miejsca po przecinku, bo jakie ma znaczenie 1/100 stopnia w tym przypadku :) Spokojnie zrobisz to bez USART, choć oczywiście można się...
Przerwanie_0: 'co 2ms If Liczniczek_przygotowanie_odczytu < 400 Then Incr Liczniczek_przygotowanie_odczytu If Liczniczek_przygotowanie_odczytu >= 400 Then 'co 800ms odzyt DS Liczniczek_przygotowanie_odczytu = 400 Flaga_przygotowanie_odczytu = 1 End If End If Flaga_dodatkowa = 1 'do wykorzystania w innym sub- też co 2ms- to Twoje sterowanie...
Powrócę jeszcze do tematu. Timery programowe to objaśnił Mirekk36 w swojej książce oraz artykułach i wideo poradnikach, bardzo dobrze je się stosuje. Jest to proste, wystarczy ustawić jakiś timer w tryb CTC i wywoływać przerwanie co jakiś zamierzony czas (stosuje około 10ms). F_CPU/Prescaler/100 Zaokrągloną wartość wpisujemy do rejestru OCRx. W przerwaniu...
Może ja wyjaśnię jaśniej. Generujesz przerwanie od timera np. co 800ms, czy 1s. I w przerwaniu wykonujesz operacje: 1. Odczyt temperatury do zmiennej 2. Komenda Convert_T Odpowiadając na Twoje pytanie - 750ms to MINIMALNY czas między CONVERT_T a odczytem (dla 12-bit). Więc odczyt po 1, 2, 3600 sekundach po CONVERT_T nie jest błędem. Dzięki takiej metodzie...
https://obrazki.elektroda.pl/9764833100_... Witam, celem projektu było stworzenie prostownika/ładowarki wieloetapowej który w przeciwieństwie do fabrycznych konstrukcji pozwalałby naładować w pełni akumulatory samochodowe z płynnym elektrolitem. Czyli uzyskanie gęstości elektrolitu na poziomie 1.27 Wsad do uC dostępny na priv. NOWA...
Nie wiem co rozumiesz przez stwierdzenie: " aby regulacja temperatury była zależna od czasu", jak i kiedy realizujesz obsługę przerwań ale błędy odczytu temperatury prawdopodobnie są wynikiem zakłócania cyklu odczytu ds-a przez przerwanie od timera. Poczytaj o zależnościach czasowych 1-wire. Jest to interfejs asynchroniczny i musisz zapewnić aby poszczególne...
Witam Co do przeliczania wartości na temperaturę nie będę się wypowiadał bo w wielu publikacjach było to prezentowane. Natomiast zajmę stanowisko w sprawie wyświetlacza LED. Proponowałbym z obsługi przerwania usunąć procedurę pobrania znaku do wyświetlenia. O wiele lepiej zrobić to w programie głównym. Zbyt długie przebywanie w obsłudze przerwania może...
Albo zrób przerwanie od timera np: co 2,5ms i np 1 przerwanie 1wreset; 2 przerwanie następny rozkaz do ds-a po start konwersji kolejne przerwania czekasz na zakończenie konwersji i dalej tak samo kolejne przerwania odczytują temperaturę; jedno przerwanie jeden rozkaz, nie zapomnij o crc. Sam niedawno tak robiłem ( w ramach walki z nuda 6 ds-ów ) i bardzo...
Witajcie, W oparciu o Atmegę8 zrobiłem sobie prosty sterownik. Odczytuję temp. z dwóch czujników ds18b20 i na jej podstawie steruje elektrozaworem. Chciałbym dodatkowo wprowadzić obsługę 3 przycisków. Problem w tym, że sam odczyt temp. z czujek powoduje pewne opóźnienia np. czas konwersji jest dosyć spory bo 750ms w związku z tym reakcja na przyciśnięcie...
Weź pod uwagę takie problemy: 1. zminimalizuj drgania styków przycisków (tzw. debouncing) programowo lub sprzętowo używając kondensatorów 2. przerwanie od enkodera wywołuj stanem FALLING lub RISING (Ty masz LOW co jest bardziej podatne na drgania przycisku zwieranego do masy) 3. zmienna globalna "time" użyta w przerwaniu powinna być typu volatile (Ty...
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
Nie bardzo mam teraz ochotę zgłębiać kod ponownie, ale pamiętam że w Twojej wersji Timer odmierzał czas 20s i kiedy nadszedł czas to w przerwaniu mierzył temperaturę Dallasem DS18B20 i w dodatku pisał od razu po wyświetlaczu :D Dlatego jedną ze zmian było to, że Timer tylko ustawia flagę by dokonać pomiaru i go wyświetlić. Tak więc dopóki nie jesteś...
http://obrazki.elektroda.pl/6948868900_1... Wzmacniacz samochodowy o mocy 400W. Oparty o przetwornicę push-pull na układzie KA7500 (TL494), o mocy do 500W pozwalającej na pracę czterech końcówek mocy TDA7294. Wzmacniacz na przednim panelu posiada trzy trzy-cyfrowe wyświetlacze LED, wyświetlające aktualne napięcie zasilania wzmacniacza,...
http://obrazki.elektroda.pl/4168368600_1... Przedstawiam kolejny krok ku "cyfryzacji" mojego motocykla, a mianowicie 10-cio funkcyjny licznik-komputer pokładowy. Co do słówka "komputer" to może nieco na wyrost go użyłem, niemniej urządzenie oprócz mierzenia prędkości i przebytej drogi, pokazuje też jednak coś więcej - w sumie oblicza...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
http://obrazki.elektroda.pl/4883645800_1... Niniejsza wytrawiarka powstała z konieczności, moja dotychczasowa mniej więcej 25-letnia wytrawiarka w formie kuwety fotograficznej na przyklejonych kółkach, kołysanej silniczkiem od programatora zaczęła się już rozpadać, poza tym od początku miała pewne ograniczenia, od braku podgrzewania...
http://obrazki.elektroda.pl/2126980700_1... System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
Co to znaczy zachować umiar? Zrobić za pinć złotych? :) Wiesz, jak byłem nastolatkiem to także się bawiłem w ciemni fotograficznej. Co prawda wywoływało się w większości filmy czarno-białe, ale także od czasu do czasu i kolorowe. Różnie bywało z jakością, ale ogólnie używało się prostych termometrów i było dość dobrze. Myślę, że zastosowanie skalibrowanego...
http://obrazki.elektroda.pl/5336859500_1... Projekt został zrealizowany na potrzeby sterowania urządzeniami zasilanymi z sieci 230V , świetnie nadaje się jako sterownik do wytrawiarki lub innych tego typu urządzeń, w których konieczne jest utrzymywanie stałej temperatury. Układ oparty jest o mikrokontroler ATmega8 firmy Atmel , który...
Witam Mam złożony układ oparty o ESP32 devkit 1, podpięty wyświetlacz LCD 4x20 po i2c, do tego czujniki ds18b20 oraz termoparę, oraz przekaźnik ssr (omron). Postawiony serwer www, na którym wyświetlam dane z czujników. Do gpio32 podpięty mam przycisk (drugi koniec do masy) korzystam z programowego pullup. Przycisk obsługuje przerwanie. Generalnie wszystko...
Witam. Mam taki oto program do pomiaru temperatury przez DS18B20 i wyświetleniu jej na 14-sto pozycyjnym wyświetlaczu 14-sto segmentowym: '-------------Zegar Kalendarz 14-segment LED-" 'opis złącza ISP 'czerwony - "+" 'zielony - RESET 'biały - MISO 'niebieski - SCK 'brązowy - MOSI 'czarny - "-" '------------dyrektywy dla kompilatora--------"...
Tak, zrobiłeś babola, ale rzeczywiście nie pytałeś jak go naprawić. Wyżej dostałeś sensowne odpowiedzi na pytanie którego bezpośrednio nie zadałeś. Jeszcze raz: nie czekaj na pomiar. Obsługa DS18B20 to od kilku do kilkunastu milisekund. Wracając do Twojego pytania: przerwanie po otrzymaniu danych: [syntax=c] ISR(USART1_RX_vect) { int data = 0; ... }...
A co robi to przerwanie od zegara?
Mogę naprowadzić: zapominasz o kodzie, który widziałeś, a który korzysta z delay() i robisz wszystko od nowa na przerwaniach. Problem w tym, że przerwanie związane z obsługą DS18B20 powinno wywłaszczać przerwanie wyświetlacza, co na ATmega w zasadzie jest niemożliwe. W związku z tym wypada rozejrzeć się za obsługą DSa przy użyciu UARTa, co daje pewne...
Spróbuj DS18B20 przepiąć pod D3, a na D6 odpal button. Pozdr
Dołącze się do dyskusji. Ja u siebie mam sterowanie ds18B20 ustawione w przerwaniu. Dodatkowo jest to procedura obejmujaca wszystkie rozkazy sterujace pracą czujnika czyli do proceduryt podaje czego chcę od DS18b20 i właczam przerwanie potem program główny ma za zadanie sprawdzic czy procedura odczytu zostałą ukonczona a w buforze mam dane z DS18b20....
Ten plik o ile się nie mylę to jest sama biblioteka, w dodatku niekompletna ponieważ kompilator wywala całą masę błędów :/ Edit. I jeszcze jedno znalazłem kolejny przykład spróbowałem skompilować i tym razem dzieją się takie cuda: http://scr.hu/8e6i/jt5tp kody: DS18B20.h [syntax=c]#ifndef DS18B20_H #define DS18B20_H /* DS18B20 przyłączony do portu PA0...
Poprawiłem w ten sposób: [syntax=c] #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "hd44780.h" #include "ds18b20.h" #include <stdlib.h> #include <avr/interrupt.h> #include <util/delay.h> /* Komunikaty w tablicy wysyłane do wyświtlacza */ volatile unsigned char flaga; char str[17]=" Termometr...
Może w tym czasie kiedy czytasz DS-a zachodzi przerwanie i rozsynchronizowuje transmisję.
No to masz odpowiedz. Wyświetlanie zajmuje za dużo czasu i przerwanie się nie wyrabia.
No to pomyśl... Dużą częstotliwością taktowany dsPIC? Najszybsze mają 40MIPS, myślisz że przerwanie co 40 instrukcji to dobry pomysł? 4\/3!!
Witam Wszystkich. Ucz się przerwań. Naprawdę wielu rzeczy nie da rady zrobić bez przerwań, np. termometr z wyświetlaczem multipleksowym - odczyt z ds18B20 trwa ileśtam ms, w tym czasie wyświetlacz nie działa, cały program jest zatrzymany i czeka... coś jak delay(). Czy na lampach NIXIE +termometr+ sterowanie BT. Faktycznie moc obliczeniowa spada, ale...
W chwili gdy obsługuje 1-Wire, Bascom ZAWSZE nawet na czas generowania resetu, co trawa ok 500us, później presence, co daje razem ok 800us, zawiesza przerwania. To samo w czasie transmisji danych, transmisja bajtu to ponad 500us zawieszone przerwania. W tym czasie nie wykona się przerwanie od timera, od i cała tajemnica. Ale zabobony. Każdy może otworzyć...
Tak, ale klawiatura jest częściej skanowana i trzeba odczekać jakiś czas aby DS przekonwertował temp. a to przerwanie które używam jest od PCF8583
Spróbuj znaleźć, dokładnie które przerwanie ci przeszkadza. Mnie np przeszkadzało tylko INT0 przy jedoczesnym odczycie RC5 więc na czas wysyłania wyłączałem tylko to przerwanie: Disable Int0 1wreset 1wwrite &H55 1wwrite Dsadres1(1) , 8 1wwrite &HBE Enable Int0 Tempw = 1wread(2) Tempw = Tempw * 10 Tempw = Tempw / 16 Tekst1 = Str(tempw)...
Czy to jest przerwanie czy odwołanie się do podprogramu? Jeśli przerwanie- to jakie zdarzenie je wywołuje? Po co w przerwaniu- jeśli jest to przerwanie- blokujesz przerwanie od przepełnienia Timera? Przecież i tak jest zablokowane. Funkcja jest zdeklarowana?
...próbowałem PORTB=0xff bądź 0x0f (bo mam pierwsze cztery piny zajęte) ale nic nie zmienia w działaniu programu więc wywaliłem to To akurat powinno być. Bo przed zmianą cyfry na inną zmieniasz poprzednią. Zasada jest taka, że wygaszasz wszystkie a następnie ustawiasz wartość dla nowej cyfry i zapalasz konkretną cyfrę. PS. Mam nadzieje, że zrozumiałeś...
Pewnie przerwanie przerywa Ci jakąś procedurę zapisu/odczytu na 1-wire które są newralgiczne czasowo i NIE POWINNY być przerywane i stąd ten problem.
Wiem o tym, mi chodzi to że muszę odczytać temperaturę z DS18B20 i wyświetlić ją na stronie, chce się tym odczytem zająć co kilka sekund w przerwaniu żeby nie tracić czasu podczas wysyłania strony.
Tylko po co w ogóle blokować przerwania w loop() skoro można użyć zasobu procesora w postaci timera do harmonogramowania zadań? Chyba, że dla sportu, co wyjaśnię poniżej. Przyczepiłeś się millis() i łapiesz mrówki, gdy Ci słonie uciekają. Standardowo biblioteki do DS18B20 korzystają z biblioteki onewire, która też wyłącza przerwania i nie na 1us tylko...
Sleep to sleep, a przerwanie to przerwanie. Przerwania są bardzo użytecznym mechanizmem do wykonywania różnych zadań "w tle" głównego programu. Należy, rzecz jasna, pisać programy obsługi przerwań w sposób zwięzły i krótki, umożliwiający ich dostatecznie szybkie wykonanie, tak aby nie zaburzać jakichś krytycznych zależności czasowych w programie głównym...
Jednym słowem chcesz coś zrobić dobrze to rób to sam, albo używaj komercyjnych (czytaj płatnych) bibliotek, które i tak do końca nie wycisną tego co można zrobić pisząc kod samodzielnie. Jeśli wiesz że chcesz używać DS18B20 i wyświetlacza LED z multiplexem, aż się prosi napisać tę obsługę samodzielnie, tym bardziej że całą obsługę 1 wire można załatwić...
Zamiast wyłączać przerwania możesz zastosować pewien trik. Mianowicie zadeklaruj sobie jakas flage. Gdy konczy sie przerwanie zresetuj ja. Wtedy bedziesz wiedzial ze sie zakonczylo i ze masz troche czasu do nastepnego. Potem piszesz cos takiego : Set Flaga : While Flaga = 1 : Wend To umieszczaj w miejscu gdzie masz odczyt temp. Pamietaj o tym...
bascom ds18b20 przerwanie serialin przerwanie przerwanie timer0
montaż zamka centralnego master kamerka telewizora aparatura pomiarowa
festo pneumatyka festo pneumatyka
Fiat Grande Punto – brak świateł postojowych, bezpieczniki F12/F13, diagnostyka BCM Silnik elektryczny 1,8 kW 230V – dobór kondensatora pracy 45µF/450V, czy wystarczy?