A czy to też nie działa : Config Watchdog = 16 Start Watchdog Disable Interrupts być może Bascom odblokowuje przerwania w starcie watchdoga?
Funkcje wait (waitms) w BASCOM nie blokują i nie resetują watchdoga. Wyłączanie watchdoga w czasie odczekania może prowadzić do sytuacji, gdy wchodzące w tym czasie zakłócenie zablokuje nam na stałe procesor. Dlatego lepiej wstawić pętelkę z resetowaniem watchdoga i zostawić watchdog włączony: for i=1 to 3 reset watdog wait 1 next
To nie w bascomie tkwi problem, tylko w kompilatorze C, według symulatora na wyjściu powinien być stan wysoki, czyli 5V, wygląda to tak jakby port był w stanie wysokiej impedancji. Sprawdź częstotliwość na tym pinie, bo podejżewam że procesor nie wchodzi prawidłowo w pętle i się resetuje co chwile, najlepiej byłoby to zrobić na oscyloskopie, ale częstotliwościomierz...
Powinieneś tak napisać program, aby taki reset nie był potrzebny a jeśli upierasz się przy tym to wykorzystaj WATCHDOGa. a jak wprowadzisz procek w tryb bootloadera (myślałem, że tego chce autor)? Jeśli chcesz resetować procka to faktycznie najłatwiej watchdogiem.
wylacz watchdoga i naucz sie czytac dokumentacje. bascom tego za ciebie nie zrobi. 0x41 0x56 0x45!!
Jest kilka możliwości. Tak samo w Bascomie jak i w każdym innym języku/kompilatorze. Można uruchomić WATCHDOGa i odczekać w pustej pętli aż zresetuje, można połączyć dowolne wyjście mikrokontrolera z wejściem resetu i zresetować, gdy potrzeba. Np tak: CONFIG WATCHDOG = 16 start watchdog do:loop A dlaczego chcesz resetować? Nie lepiej napisać program...
Bascom sam się nie zajmie resetowaniem Watchdog'a, jak słusznie zauważył Holy . Żeby z niego skorzystać najpierw trzeba go skonfigurować (ustawić stopień podziału - od tego zależy czas potrzebny na przepełnienie jego licznika) poleceniem CONFIG WATCHDOG = czas , później uruchomić: Start Watchdog . Teraz w newralgicznych punktach programu musi zostać...
... Wpisałem bezpośrednio de rejestru WDTCR wartości bitów podane w dataschet a efektu brak, wpuszczam program w pustą pętlę i nie resetuje się procek... A "pochwalisz" się tymi wpisami ;)? Po czym rozpoznajesz że procesor się resetuje?
Fusebity rozumiem że zmieniłeś na zewnętrzny kwarc. Spróbuj jeszcze wyłączyć watchdoga w programie , może gdzieś się nie wyrabia program i się resetuje.
dondu - totalnie mylisz pojęcia. BOD i WD to dwa zupełnie różne układy, wyzwalane zupełnie różnymi bodźcami. WD powinien być stosowany w każdej aplikacji, jako dodatkowe zabezpieczenie. I bynajmniej nie z powodów o których piszesz. Jeśli program może wchodzić w dziwne stany to jest po prostu źle napisany - rozwiązaniem jest napisanie go poprawnie. A...
znów przydałaby się szklana kula :D A nie masz przypadkiem włączonego watchdoga i nie resetuje uP zanim wyśle drugi tekst?
Co prawda wiele mi to nie pomogło, ale to chyba dlatego że nie napisałem że program jest w bascomie udało mi się natomiast ustalić dlaczego procek raz sie resetuje raz nie. Otóż jak ustawie watchdoga na 1024 to wszystko pięknie działa czyli wpuszczony w pustą pętlę zawsze się resetuje ale jak ustawie 2048 (max dla atmega32) to juz sie nie resetuje czyli...
Chciałbym zrobić coś takiego: Odbieram przez USART odpowiedzi z telefonu i chcę wykryć np. brak lub wyłączony telefon. Sęk w tym, że w tym momencie korzystam z Watchdoga i kiedy jest brak odpowiedzi z telefonu to program zawisa na Input'cie i wtedy go watchdog resetuje. Chciałbym w jakiś sposób zliczać te resety by np. po dziesięciu próbować włączyć...
Nie ma pętli głównej bo chciałem wpisać dane do LCD raz aby go nie odświeżać. nawet jak mam w pętli wpisywanie i Wait 5 to resetuje sie ekran po okolo sekundzie. Sprawdze trop z watchdogiem
Witam. Koledzy jak ogarnąć watchdog-a sprzętowego w ESP8266? Szukałem czytałem że esp ma watchdog-a programowego i sprzętowego ale nie ogarniam tego. Chciałbym to zrobić tak jak w Bascomie, ustawiam watchdog-a sprzętowego na jakiś czas a później w programie go resetuję jak program stanie to watchdog załatwi resztę. A może ktoś podlinkuje jakiś zrozumiały...
Program piszę w kompilatorze BASCOM_AVR
Witam. Zadaniem urządzenia jest głównie odpowiadanie na słowa przychodzące na UART, co oznacza, że program większość czasu "wisi" na poleceniu input. Ponieważ urządzenie ma pracować 24h na dobę, i być maksymalnie niezawodne, oczywistym wydaje się użycie watchdoga. Czy w tej sytuacji (program "wiszący" na input, nie mający możliwości zresetowania watchdoga)...
z tego co wiem programowo tego się nie da zrobić(jakimś poleceniem)..najlepiej wykorzystać watchdoga(tego z bascoma).. a najlepiej chyba sprzętowego watchdoga. Bo rozumiem, że chcesz żeby się resetował jak się zawiesi ? Czy po co w ogóle?
Witam ! Buduję urządzenie wykorzystujące ATmega644. Natrafiłem na dziwny problem, a w zasadzie dwa. Soft w Bascomie. Jak włącze w programie watchdog'a, to po resecie procka licznik watchddog'a dalej pracuje. Nie reaguje na Disable. W sumie nie wiem czy to dziwne, ale mnie dziwi. Drugi jest dużo gorszy. Jak wyłączam zasilanie trafo i układ zostaje na...
Mój ulubiony "kwiatek" :) Gosub Wybor Wybor: Potem mamy masę gosub'ów bez poprawnego wyjścia. Generalnie program źle napisany. Piszemy programy tak by subrtyny mogły się kończyć i nie zagnieżdżamy nadmiernie podprogramów. To nie watchdog tylko przepełnienie stosu. Chociaż i watchdog może w kilku przypadkach resetować, zwłaszcza tam gdzie jest WAIT...
To będziesz musiał się trochę napocić. Po pierwsze jak używasz watchdoga w programie, to musisz w jakiś sposób sprawdzić czy reset aby na pewno służył do upgrade'u. Możesz to zrobić np przez zapis do eepromu jakiejś wartości, odczyt i odczyt jej bootloaderze (pamiętaj żeby bootloader ją resetował). Dobry by był też mechanizm który by pozwolił na zrezygnowanie...
witam... moze mi kotos pomoc ustawic watchdog tak aby uP resetowal sie po 2sekundach... uzywam bascoma i procek resetuje mi sie po 16ms /przynajmn iej tak wynika z symulacji/ z pdf'a wyczytalem, ze mozna czas ustawic za pomoca s0,s1,s3 w WDTRST - Watchdog Reset Register (0A6h) moze mi ktos pomoc jak mam to zrobic, pewnie w asm, ale z tego to ja jestem...
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 Config Aci = Off Config Lcd = 40 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3...
Nie wiem jak to jest konkretnie w AT90xxx a zwłaszcza a Bascomie, ale mogę Ci powiedzieć na czym polega sama idea. Jeżeli to coś to ma być pilot to wystarczy, że od czasu do czasu sprawdzi stan przycisków i wyśle gdzieś jakiś rozkaz. Oznacza to, że w pozostałym czasie urządzenie jest bezrobotne i może iść spać. W większości nowoczesnych procków jest...
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 z góry przez twórców mikrokontrolera czasy licznika....
żarty chyba, z tym watchdogiem... Transmisja przy 19200 ramki danych do telefonu to jak błysk flesza. wina resetowania procka leży w zbyt małym stosie programowym. ( przyjąłem, że piszesz w bascomie i na AVR i nie zrobiłeś błędów w sofcie. Jeżeli mam rację to musisz zwiększyć stos)
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ć to w niezależnej procedurze.
Zbyt wolne ale dlaczego?Układ zasilam z stabilizatora 7805, teraz mam podłączony do pinu reset 100n do masy i 10k to +5V a procesor dalej nie startuje po wlaczeniu zasilania.Jak zewre Reset to masy to procesor startuje.Jak to wyeliminiwac-może to być wina programu albo ustawienie wewnetrznego kwarcu? Wydaje mi się ze wpływ na działanie układu resetu...
Ok... w takim razie nie mam innych pomysłów, co w programie mogłoby powodować ten problem. Program jest rozległy, ale jednocześnie jest to po prostu długachny ciąg warunków, bez szczególnie dużych rozgałęzień, w nim nigdzie nie ma żadnej możliwości na "zamrożenie" urządzenia, a przynajmniej ja takiej możliwości nie widzę (tak, wiem, to "ja" może być...
czy używasz A(akumulator) świadomie(świadczyło by o tym użycie komendy asemblera inc). Jeżeli robisz to przypadkowo to może tłumaczyć dlaczego ci się proc resetuje. Daj dłuższe nazwy(jak ala zamiast A). Może uC ma włączonego watchdog'a?
'---------------------------------------... ' Solar v9 z pomiarami i watchdogiem '---------------------------------------... ' ustawiono napiêcia od³aczenia 1,17V ' napiêcie ochrony 1,45V ' led red lutowana do b1 ' opornik do b2 '---------------------------------------...
...Urządzenie zawiera dwa MCU - każdy ma możliwość resetowania drugiego - innymi słowy - jeden nadzoruje drugi (komunikują się po RS232) i w razie jeśli któryś się by "powiesił" wtedy kolega go podnosi :) Właśnie do tego służy watchdog i nie trzeba zdublowanego systemu resetów, który moim skromnym jest konstrukcją błędną. Ale chyba się nie zrozumiemy....
Ratujcie!!! Męczę się z AD7730 już od miesięcy, tak się uparłem, że nie robie nic innego tylko walczę z tym i nic, aż mi się odechciewa całej elektroniki. Wykonałem płytkę pod AD7730 i łącze go z AVR M8, program pisze w Bascom (bo jest prosty) i wygląda on tak: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 =...
Witam ponownie No ja walczę z całym kodem, żeby go trochę zoptymalizować, ale nie bardzo się daje. zajęte 77% a nie mam konwersji danych z sht11 jeszcze zrobionych, coś mi się wydaję, że będzie trzeba się przesiąść na M32. Przykładem może być np. zapis temperatury z dokładnością do jednego miejsca po przecinku. Przecież wystarczy do tego zwykły, dwubajtowy...
Po podłączeniu LCD4BUSY wydaje się działać troszkę lepiej. Zastanawia mnie tylko : Dlaczego na M8 działa bezproblemowo a na M168 nie? I dla czego jeśli Uc jest kasowany przez WATCHDOG to nie zawsze dobrze się uruchamia, jeśli natomiast skasuje resetem to odpala za każdym razem? Cały program do M168 zajmuje 71% przy kompilacji. Jeśli dołożę coś do kodu,...
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 sprzyjajacych warunkach dluzej niz max czas dopuszczalny...
Witam, procek to ATMega8515... Czy można prosić o przykład użycia funkcji, która spowoduje reset ? Dodano po 2 No właśnie głównie zależy mi na resetowaniu rejestrów... (czytać po zapisaniu konfiguracji na karcie flash, potrzebuję zrestartować cały procek by mógł odczytać wszystkie dane i się do nich "ustosunkować"... Dodano po 29 Dziękuję, pomysł z...
Taka sytuacja jest możliwa!! Świadczy to tylko o tym że program jest źle napisany Skoki napięcia świadczą o źle napisanym programie ? Można jaśniej ? A w innych sytuacjach? Jakieś skoki zasilania? Inne nieoczekiwane sytuacje? Na skoki napięcia nowsze AVR mają Brown-Out Protection (ustawiany fusebitami) - układ resetujący w takim przypadku. Jest od...
Zrobiłem to tak: 'Odebranie jakiejkolwiek informacji z modułu GPS $regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Enable Interrupts Enable Urxc On Urxc Przerwanie_rx Config Lcd = 20 * 4 ' Wyswietlacz 20x4 Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.1 , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 Cls Dim Dana As...
Mam problem z programatorem ze strony http://pinokio3000.narod.ru/my_designs/A... Zastosowałem z nim drobne przeróbki. Nie dawałem tylko diody VL3 i Rezystora R9. Nie dawałem tez elementów R8 i C6 bo ten układ raczej nie wykorzystuje przetwornika ADC. Zasilanie AVCC podłączyłem bezpośrednio do VCC. I nie dawałem rezystora R7 bo...
Twoje działa, ale moje nie działa. Wklej mój kod w kompilator i zobacz co się dzieje [syntax=Bascom] $sim $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Cool As Word ' zmienna określająca wypełnienie...
Witam wszystkich Forumowiczow, do tej pory nigdy nie miałem potrzeby pisać postu bo wszystkie problemy rozwiązywałem opcja search ;-) az do tej chwili. buduje układ przetwornika AD 24 bitowego, ktory komunikuje sie z Atmega8 po SPI hardware a ta z kolei z moim PC po RS232. Docelowo maja byc 2/3 przetworniki, poki co jest jeden i walka trwa ;-) Całość...
acid12 -> jak zajrzysz do kodu bootloader.c to zobaczysz, że do resetu procka po załadowaniu już programu właściwego do pamięci flash stosuję metodę: asm volatile( "clr r30" "\n\t" "clr r31" "\n\t" "ijmp" ::); jeśli chodzi o możliwości zdalnego resetowania to: 1. można sobie podłączyć...
Są rzeczywiście sytuacje, gdzie hardware'owe i2c/twi potrafi się zawiesić. Nie jestem specem od AVR niemniej kiedyś bawiłem się w atmega interfejsem TWI. Wykonywałem losowe zwarcia linii SDA zarówno w trakcie transmisji jak i gdy linia jest wolna. Czasem gdy rozwierałem linię SDA ona zamiast podciągnąć się do 5V pozostawała na 0V a w rejestrze statusowym...
No własnie zgłupiałem do reszty ale jedno sie zgadza jestem poczatkujący i naprawde duzo czasu mi zajmuje za nim cos napisze i to zadziała. [syntax=basic4gl] $regfile = "m8def.DAT" $crystal = 8000000 'CONFIG---------------------------------... Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portd.6...
Ostatnie czasy na Elce coraz więcej nie działających procesorów/Programatorów/za szybko wykonywujących się opóźnień... W związku z tym może warto by było zrobić coś w stylu "Kompedium" co zrobić, jeśli nie działa...Jeśli macie jakieś z życia przykłady piszcie, będę uzupełniał:) Nie działa procesor: 1) sprawdź czy jest zasilanie na WSZYSTKICH Nóżkach...
https://obrazki.elektroda.pl/4136220100_... Witam. Chciałbym przedstawić mój system sterowania roletami i oświetleniem w domu jednorodzinnym. System powstawał stosunkowo długo. Ewoluował wraz z budową domu. Niestety nie mogę poświęcić mu tyle czasu ile bym chciał dlatego nadal nad nim pracuje. Część komponentów doczekała się kolejnych...
Jeśli chodzi o temperatury to w zasadzie ma to być tylko jeden czujnik, procedura obsługi była zaczerpnięta z mojego poprzedniego programu dlatego tak zostało. Usunąłem też podział na etapy, który tutaj nie będzie potrzebny i poprawiłem resztę wg. Twoich wskazówek. Co do deklaracji portów, przyciski mam podciągnięte sprzętowo do 1. Wygląda to tak: [syntax=basic4gl]'----------------------...
Witam :) Mam problemy z programem analizatora widma z obsługą RC5. Na lcd wyświetla głupoty albo resetuje się Atmega32.Czy w programie wszystko OK jest? Oczywiście sam program analizatora widma akustycznego działa poprawnie. $regfile = "m32def.dat" $crystal = 16000000 Config Pinb.2 = Input Config Int2 = Falling Enable Interrupts 'obsługi RC5...
Jakie zakłócenia na AVR ? :D watchdog i po problemie, pamięć SRAM się nie przeprogramowuje... Oczywiście nie należy elektronice w odpowiedzialnych automatach ufać i należy stosować zabezpieczenia, zarówno przed zakłóceniami, jak i w przypadku padu mikrokontrolera. Oddzielna kwestia, ze osobiście nie ryzykowałbym stosowaniem Bascoma do bardziej skomplikowanej...
Witam Chciałm zrobić automatyczną regulację obrotów silnika. Pierwszy silnik napędza drugi silnik który pracuje jako prądnica i muszę wraz ze zmianą obciążenia prądnicy regulować obroty silnika tak aby uzyskać stałe napięcie na wyjściu prądnicy. Do sterowania zastosowałem Atmegę 8. Napisałem taki programik i niby działa, ale ... regulacja jest zbyt...
Moim zdaniem: 1. w ogóle nie potrzebujesz trybu CTC. Normal w zupełności wystarczy, ale to szczegół. 2. Watchdog resetuje Ci procka. Od momentu uruchomienia do 1 resetu masz "waitms" na co najmniej 1100ms a ustawiłeś go na 1024ms. Ale ja nie znam/nie używam BASCOMa więc moje uwagi sam zweryfikuj na poprawność.
Witam. Mam problem z porgramemem w Bascomie, Do tej pory wszystko działało poprawnie aż do poewnego momentu zaczeły sie jakies anomalie. Mianowicie, program nie reaguje na zminanę na porcie A w podprogramie zamkanie_awaryjne, zamykanie i otwieranie, gdy wciskam przycski i wysyłam stam przez RS232 to odczytuje poprawnie ale w Do Loopp Until Kpz=1 nie...
Jak w BASCOMIE zaaktywowac watchdoga w tym procku? Jak go resetowac i jak stworzyc plik konfiguracyjny do BASCOMA? Niestety wyszukiwarka na elektrodzie chyba padła, niemoge znaleźć podobnego tematu. Wycinek z PDFa Watchdog Timer (One-time Enabled with Reset-out) The WDT is intended as a recovery method in situations where the CPU may be subjected to...
watchdog resetuje watchdog bascom bascom watchdog interrupt
płytka stykowa atmega8 airbag kasowanie przesunięcia bitowe
traktorek silnik briggs traktorek silnik briggs
Pinout zaworu EGR w Oplu Corsa D - szczegóły Cena piekarnika Samsung NV70M3541RB w 2019 roku