W przerwaniu INTx ustawić watchdog w tryb przerwania na czas około 1 sekundy i wrócić do power down. Po przerwaniu od watchdoga sprawdzić stan wejścia i podjąć odpowiednie kroki. PS. W attiny każde wyprowadzenie może wybudzić procesor. Lepiej używac pin change interrupt moim zdaniem.
Cały program ma ponad 1500 linii więc cały soft nic tu nie wniesie. Aktualny wycinek dotyczący w/w tematu: [syntax=basic4gl] $regfile = "m16def.dat" $lib "I2C.LBX" '$lib "mcsbyte.lbx" $lib "Ds1307clock.lib" $crystal = 4000000 ' Konfiguracja pinow DS1307 Config Sda = Porta.6 Config Scl...
xury - skoro już wykorzystujemy Bytematch=13 to nadal spokojnie można korzystać z Input tylko warto całość dobrze przemyśleć jak? polecam do przeanalizowania przykładowy kod pod koniec poniższego tematu tak jak tam widać - polecenie Input jest uruchamiane tylko wtedy gdy jesteśmy pewni dzięki...
Witam, jeszcze proszę praktyczne rozwiązanie takiego problemu, gdyż program jest praktycznie ukończony, ewentualnie drobne poprawki kosmetyczne:), ale w obecnej wersji odczyt i zapis wykonywany jest z poleceniem "wait", przez co wskazywane temperatury nie są czasem poprawne - wyskakuje BRAK ds'a. Już...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '**************************...
Nie wiem jak u Was ale ja tam nie mam już absolutnie żadnych trzasków. Owszem jest jeden mini szmer jak włączam urządzenie ale włączam je raz na "rok" i nie wyłączam. Chyba że ktoś puszcza sobie melodyjkę i wyłącza urządzenie , to co innego. Dla pewności przedstawiam ponownie działający kod. '---------------------------------------...
Wystarczy... 😉 To może zacznę najpierw od nauki bascom a i za jakieś dwa lata będzie to śmigać 😀 Dodano po 8 Panowie, znalazłem wczoraj kod, który działa na zasadzie „rejestratora” czasów, i zapisuje wyniki do Eeprom. Później je porównuje z odebranym kodem biorąc...
Witam, od wczoraj zmagam się z problemem odbioru kodu RC5 w urządzeniu, w którym mam multipleks dużej ilości wyświetlaczy 7-segmentowych LED. Przerwania na multipleks przychodzą co około 4ms. Multipleksowanych cyfr jest łącznie 48, ale pogrupowane są one, tak jakby były tylko 4 cyfry. W każdym przerwaniu...
Witam Piszę do was bo nie mogę rozpracować histerezy w poniższym kodzie programu. Program działa prawidłowo ale jest mały problem. Histereza zawsze działa, a raczej jej brak (załączanie i wyłączanie) działa równo przy 30 stopniach. Potrzebuję aby histereza była ustawiona na 5 stopni. Proszę pomóżcie...
Nie wiem czy dobrze kobinuję, przy takiej konfiguracji bardzo szybko odświerza mi LCD prawie nic nie widać. Nie wiem też jak ugryść wyświetlanie poszczególnych podprogramów jednym przyciskiem. Zastosowałem skoki opisywane [url=]Tutaj [syntax=vb]$regfile = "m16def.dat" ...
Jak dam dword to kompilator wywala mi blad niechce sie skompilowac...dlatego dawalem word i moze przez to niedzialalo. Pozniej sprubuje tylko na zaplonie pobujac i sprawdzic. Ale dziwne bo nawdr gdyby tam raz na jakis czas spadlo do 4L to srednia nie wyszla by 4L. Musialo by byc przez 10 pomiarow okolo...
Dzięki możesz podesłać, zerknę również sobie na obsługę menu (jestem też w trakcie tworzenia) i również proszę was o pomoc. Kod wygląda tak: [syntax=vb]'----------------------...
Nie analizuję jak to działa, ale zmieniony tak jak pisałem kompiluje się bez problemu. Jeśli poniższego listingu nie potrafisz skompilować to znaczy że używasz jakiejś archaicznej wersji i nie da się pomóc dopóki nie przesiądziesz się na nowszą. WDVALUE=16,32,64,128,256,512,1024,2048,4...
Witam, Niestety ostatnio od kilku miesięcy mam bardzo mało czasu na swoje hobby i zabawę z prockami więc teraz tak z marszu ciężko mi sobie przypomnieć jak dokładnie działałem z tym PowerDown w swoim pilocie ale wkleję poniżej swój kod taki jaki działa do dzisiaj w tym moim pilociku i to bardzo dobrze...
Jakby co to całość programu znajduje się $regfile = "2313DEF.dat" $crystal = 10000000 Dim Eaddress As Eram Byte At 2 'adres pilota Rc5, zosatał umieszczony pod adresem 2 gdyż z doswiadczenia wiem, że komórki 0 i 1(szczególnie 0) pamięci EEPROM potrafią...
Ja też miałem takie cyrki z przerwaniem. napisałem więc program w ten sposób: '/////////////////////////////////////... TERMOSTAT /////////////// '//////////////////////...
Zobacz jak ja to zrobiłem na Mega8 Program jaki zastosowałem korzysta z przerwania INT0 które po naciśnięciu klawisza wyprowadza procesor ze "śpiączki" , wysyła dane na IR i usypia go ponownie.Dla mnie takie rozwiązanie jest lepsze niż chwilowe zasilanie procesora poprzez diody. Poniżej...
Witam ponieważ w programie będe używał polecenia CONFIG SERVOS co powoduje iż Timer0 jest zajęty przez tę komendę potrzebuje zamienić wykorzystany wcześniej timer0 do przerwań na timer1 aby timer0 był wolny do sterowania serwem. Pozamieniałem w programie komendy timer0 na timer1 odpaliłem układ w symulatorze...
Witam po raz kolejny pojawił się problem z moim programem otóż chcę aby kiedy wzrośnie temperatura i będzie wyższa lub równa zadanej to serwo obraca się w prawo poczym się zatrzymuje następnie kiedy temperatura będzie niższa od zadanej wtedy serwo obraca się w lewo i zatrzymuje się. [syntax=basic4gl]...
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,...
Witam a wiec po koleji.Testowałem zmodyfikowaną wersje kolegi Gromelon (jeszcze nie na przerwaniach).i narazie nie zaobserwowałem żadnych błędów w działaniu(chodzi mi o to że raz układ reagował na przekaźnik z radia a raz nie)Wydaje mi sie że pomogłą funkcja Debounce usuwająca drgania styków w czasie...
włącz przerwania. Czyli zamiast disable interupts daj eneble interupts. W tym procku o ile się nie mylę watchdog też jest przerwaniem .
Dopisałem, ale jak mam teraz inicjalizować procesor? Wkleiłem wstawkę asm z helpa (dopisując przed ; ' , bo bascom nie akceptuje ; jako komentarza). Mam błąd 60 - duplicate label _basicstart i _clearram. Proszę o pomoc, bo asm nie znam. Dodano po 5 Wiem już dlaczego był ten błąd. Doczytałem...
Witam. Chciałem zrobić sterownik wzmacniacza audio na bazie kitu AVT2829. Szczególnie zależy mi na uczeniu się dowolnego pilota. Zrobiłem płytkę przystosowałem do niej program, użyłem większego procesora (atmega8) no i program działa ale strasznie ułomnie. Procedura zapamiętania kodów z pilota przebiega...
w programie mam config watchdog=32 , resetuję go w przerwaiu co około 2ms i w zasadzie jest ok , ale czasami program się zwiesi (nie reaguje na przyciski) a watchdog nie resetuje procesora , czy to możliwe żeby program wisiał a przerwania działały ? w programie mam kilka pętli DO...LOOP , czy zrezygnować...
Witam. Robię sterownik (do teściowej :) ) do kotła z możliwością regulacji prędkości dmuchawy i jest drobny problem, stosuję wyświetlacz led który wyświetla róże parametry (multipleksowany jest i wykorzystuje do tego celu timer0), jak uruchomię przerwanie zewnętrzne INT0 to zaczyna mi strasznie migotać,tzn....
Idziecie nie w tym kierunku co trzeba. Trzeba zająć się odpowiednią obsługą komunikacji a nie watchdog'a. 1. Jeśli odbiór ma wykorzystywać Input to jest coś takiego jak: $Timeout = value 2. Komunikację radziłbym wykonać w oparciu o przerwanie od Urxc.
OK Przepisałem cały program od nowa. 73% po kompilacji. Teoretycznie wszystko powinno działać ale nie mogę dostać się do menu "termostat" tzn.po naciśnięciu przycisku "menu" program powinien przejść do podprogramu termostat i na wyświetlaczu powinna pojawić się ustawiana temperatura ale tak nie jest....
Zainstalowałem AVR Studio4 i lecę od początku z google i pdf na temat ASM i AVR Powiedzcie chociaż czy w dobrym kierunku zmierzam? Bo jak w złym to odpuszczam i daje sobie spokój, pobawię się migającymi diodami w Bascomie. Tam gdzie nie ma komentarza to nie wiem co to znaczy i co robi ale było w pdf...
Wybudzaj przerwaniem watchdoga nie resetem. Ja bym to zrobił tak (w C, w bascomie pewnie też tak się da): W głównej pętli: - konfiguracja watchdoga z przerwaniem na jak najdłuższy czas- - wejście w power down - pętla nieskończona z ciągłym przechodzeniem do idle. W przerwaniu watchdoga: -...
Problem w pewien sposob rozwiazany, moze komus sie przyda Dodano linie: $initmicro ........ _init_micro... Config Watchdog = 1024 Start Watchdog Return W tej postaci watchdog poprawnie resetuje uP: $crystal = 7372800 $regfile = "m168def.dat" $initmicro ...
Przeznaczenie: Zatrzymuje działanie programu lub określone urządzenie. Składnia: STOP STOP urządzenie gdzie: urządzenie nazwa symboliczna uruchamianego urządzenia. Opis: Pierwszy format instrukcji powoduje zatrzymanie działania programu. W tym celu jest wykonywana pusta pętla,...
Sory. Zamykam temat, zawieruszyłem w jednym z przerwań polecenie resetujące watchdoga, to będzie przyczyna. Dw crazy-phisic, poznaję to po tym co procek robi w układzie po starcie, co chwalenia się to chyba nie ma czym same zera i jedynki w rejestrz, chyba z osiem?.....
A niby dlaczego miałby nie funkcjonować? Gdyby zawartość SRAM była tracona to program musiałby się wykonywać od początku, co efektywnie byłoby równoznaczne z resetem procesora. Oczywiście w każdym trybie oszczędzania energii zawartość SRAM jest zachowana, co czyni twoje rozważania nieco pozbawionymi...
Ok wklejam kod: $crystal = 8000000 $lib "mcsbyte.lbx" $lib "i2c_twi.lbx" $regfile = "m8def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.2 , Rs = Portb.3 $baud = 9600 Config Serialin = Buffered , Size = 15 $eeprom Data...
Witam serdecznie Program ma obsługiwać pomiar napięcia i wyświetlić na wyświetlaczu Led wartość odpowiadająca do 1 do 6 oraz wartość n. Problem polega ze dla wartości 1 oraz 2 brak stabilności pracy. Napięcie jest mierzone na pinie 23 uP przez dzielnik napięcia. Moje pytanie czy jest możecie sprawdzić...
Nie ukrywam, że to moje pierwsze zetknięcie z bootloaderem dla AVR (nie stosowałem). Pewien sterownik działa w sieci RS485. Mogę się do niego zalogować, i wydawać polecenia tekstowe. Chciałbym by jednym z nich było "upgrade" po którym nastąpi wywołanie pętli, która skończy się tym, że watchdog zresetuje...
Witam Wyłączenie przerwania nie wchodzi w grę mam tam reset watchdog-a Resetowanw watchdoga w przerwaniu , to ... oględnie mówiąc głupota. . Myślę że pozostaje mi rozwiązanie 2 ale czy Kolega zgada się z moja teorią o przerywaniu transmisji danych do LCD? Rozwiązanie nr. 2 jest dobre , ale...
Wylacz tylko przerwania na tych tajmerach. Sprawdz jeszcze czy nie masz uruchomionego watchdog'a - on tez wyciaga cpu ze stanu uspienia - tak samo ADC. Proponuje powylaczac przerwania i zostawic tylko te ktore ci sa niezbedne. Powinno wtedy byc dobrze. A moze masz jakies impulsy na lini zasilania i one...
Witam Piszę program pod sterownik na attiny2313. Na chwilę obecną jest obsługa wyświetlacza LED 3 cyfry multipleksowanego przerwaniami z timer0. Chciałem wprowadzić attiny w tryb power down. Jak doczytałem tryb powerdown powinien ustawić wszystkie porty w tryb wysokiej impedancji więc spodziewałem...
Ja pozakładałem żółte tło z czarnymi literami. Pisałem soft w Bascomie i miałem wątpliwości co do kodu po kompilacji. Kompilator nie wykazywał żadnych błędów składniowych. Na początku gdy kod był jeszcze krótki w zasadzie co napisałem to działało OK za wyjątkiem przerwań zewnętrznych na końcówce INT...
P.S. Zapomniałem napisać że programuję w BASCOM AVR Mozna sie domyslic.. po tym: unikam jak ognia poleceń GOTO w polaczeniu z Używam mikrokontrolerów AT90S2313 i ATMEGA8 Ale do rzeczy. Licznik watchdoga musisz zerowac, jak juz wspomniano, w kazdym podprocesie, ktory wykonywalby sie w najmniej...
Ostatnio zaprojektowałem na potrzeby dyskoteki switch DMX. Wykonałem 8 sztuk, jak na razie pracują bez zarzutu. Nie publikuję płytki, bo wymaga dopracowania, a nad publikacją wsadów i źródła się zastanowię. Co do PCB, to i tak zaraz dostaną mi się pewnie słuszne baty za zbyt małe odstępy części...
Wpisanie w watchdoga każdej innej liczby niż 2048 czyli 2 sekundy nie daje żadnego rezultatu. Takie kwiatki to tylko w sprytnej wiedzy użytkowników Bascom wyskakują... W rejestrze Watchdog-a, który jest 8-bitowy nie wpiszesz większej liczby niż 255. Można jedynie ustawić konkretne, zaprojektowane...
Wiem ze w PHP operatory sa takie same jak w c, dlatego ucze sie C na uC, a nie np BASCOM'a ;] (choc C lepsze ;]). Dzięki za pomoc, teraz jest ok. Dodano po 14 A jednak nie, wystąpiła jeszcze bardziej komiczna sytuacja. Scislej: Gdy nacisne przycisk, do pamieci zapisywany jest czas wciscniecia,...
Nie rozumiem dlaczego nie możesz skorzystać z resetowania przez watchdoga. Potrzebujesz w pewnym wybranym momencie zresetować procek - tak piszesz, zatem w tym momencie zatrzymaj program aby watchdog zadziałął i po sprawie . Jeśli trzeba to wyłącz również w tym przypadku przerwania. Najlepiej zrobić...
1. Pętla DO LOOP. Czy musi być użyta zawsze w programie i co powinno być objęte ta pętla ? Nie trzeba używać DO..LOOP. Wtedy program będzie jednoprzebiegowy: uruchomi się i zakończy. I teraz od Ciebie zależy czy zakończy się poprawnie czy też przeleci przez to co nie powinien np. podprogramy, czy...
Kolega czytał helpa ? W trybie Power Down, zewnętrzny oscylator zostaje zatrzymany. Użytkownik może przywrócić działanie procesora tylko za pomocą: układu WATCHDOG, zewnętrznego sygnału reset lub za pomocą zewnętrznego sygnału przerwania. (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005...
Witam, dziękuje za zainteresowanie... Kolego arktik1 Piszesz, że mam zadeklarować zmienną, tym samym zlikwidować pętlę FOR...NEXT? Jak zrealizować w takim wypadku wygaszanie płynne za pomocą PWM? zupełnie nie wiem jak to zrobić, pisałem, że dopiero się uczę programować, moje dotychczasowe programy...
Chłopaki dajcie na luz. Odbiegamy od tematu. Właśnie wyszła nowa wersja Bascoma 2.0.2 w której dodano : .... Chyba można by uniknąć stosowania watchdoga jesli wcześniej wyłączone zostały by przerwania?! 1- faktycznie dostępny BASCOM 202 ... zaraportował mi przy uruchomieniu - może poprawili...
Zdecyduj się o co Ci chodzi: Power down, Pull-down, Wyzwalanie przerwania zboczem narastającym/stanem wysokim, Obsługę watchdog, Bo nie wiem o co w końcu pytasz...
Witam. Jestem obecnie na etapie budowy stacji pogodowej. Po pokonaniu problemów ze stacją bazową, nadszedł czas na budowę czujnika zewnętrznego. Będzie się on składał z mikrokontrolera AtMega88PA, czujnika SHT11, nadajnika RTFQ2 i czujnika mierzącego prędkość wiatru (kontaktron lub dioda + fototranzystor,...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Zapis nie jest w pętli, struktura programu wygląda tak: Skoro na magistrali nie...
Witajcie Wlasciwie jest to moj pierwszy temat na forum wiec prosze z gory o wyrozumialosc. Przepraszam rowniez, za brak polskich fontow, ale pomimo prob wielu nie ogarniam wiekszosci ogonkow z racji lokalizacji :/ Przyszly swieta, czas urlopu i odpoczynku... Niestety wraz ze swietami przybyla...
Robię to w Bascom, oto program... [syntax=vbnet]$regfile = "m8def.dat" $crystal = 11059200 'kwarc $hwstack = 128 ' default use 32 for the hardware stack $swstack = 128 ...
chciałem zrobić wstawkę asemblerową dla watchdoga ale to już nie istotne bo nauczyłem się ustawiać poszczególne bity w rejestrach i rozumiem że to wystarczy... ale problem istnieje przesiadłem się na atmega1284p tu jest watchdog do 8 s no i dla 8 nie działa 4,2 i 1s również nie działa, działa dla...