Zrobiłem na Atmedze 64 czujnik temperatury na dwóch DS 18B20 Wszystko działa elegancko, czujniki są dokładne jednak docelowo chciałbym, aby regulacja temperatury była zależna od czasu.
Dołożyłem obsługę przerwań wewnętrznego timera , i tutaj pojawił się problem. Czujniki zaczęły się "dławić" czasami (przez sekundę ) wskazywały mi temperaturę nierealną ( 400 st C) a czasami układ nie wykrywał czujnika Wszystkie te złe rzeczy dzieją się raz na kilkanaście sekund, jednak wystarczy to, żeby zafałszować inne zmienne (np temperaturę maksymalną)
Czytałem gdzieś na forum, że obsługa czujników po 1wire działa na wewnętrznych przerwaniach które kłócą się z przerwaniami od Timera i ich obsługa zajmuje dużo czasu mikrokontrolerowi.
W takim razie, IMHO obsługa tych czujników przez Basom zupełnie mija się z celem.
Przypuszczam, że istnieją jakieś rozwiązania bezkolizyjnej obsługi tych czujników przez procesor. widziałem nawet jakiś kit (z zaznaczeniem, że program napisany w BASCOM) gdzie obsługuje się dwa trzycyfrowe wyświetlacze LED Nie podejrzewam, żeby tam układ przerywał obsługę przerwań (wyświetlacza) na czas obsługi czujnika Czy ma ktoś jakieś informacje na temat : "Jakim sposobem to obejść" ?
Dołożyłem obsługę przerwań wewnętrznego timera , i tutaj pojawił się problem. Czujniki zaczęły się "dławić" czasami (przez sekundę ) wskazywały mi temperaturę nierealną ( 400 st C) a czasami układ nie wykrywał czujnika Wszystkie te złe rzeczy dzieją się raz na kilkanaście sekund, jednak wystarczy to, żeby zafałszować inne zmienne (np temperaturę maksymalną)
Czytałem gdzieś na forum, że obsługa czujników po 1wire działa na wewnętrznych przerwaniach które kłócą się z przerwaniami od Timera i ich obsługa zajmuje dużo czasu mikrokontrolerowi.
W takim razie, IMHO obsługa tych czujników przez Basom zupełnie mija się z celem.
Przypuszczam, że istnieją jakieś rozwiązania bezkolizyjnej obsługi tych czujników przez procesor. widziałem nawet jakiś kit (z zaznaczeniem, że program napisany w BASCOM) gdzie obsługuje się dwa trzycyfrowe wyświetlacze LED Nie podejrzewam, żeby tam układ przerywał obsługę przerwań (wyświetlacza) na czas obsługi czujnika Czy ma ktoś jakieś informacje na temat : "Jakim sposobem to obejść" ?
