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...
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ć...
aha 2^16 no tak bo 2^8 256 bo każdy bit jest kolejną potęgą liczby 2. P.S. Jak mawia mój nauczyciel od cyfrówki każda liczba w układach cyfrowych jest potęgą liczby 2. :D A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. wyczytałem na innym forum że liczba podana w prescale dzieli częstotliwość pracy...
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 lub innych opisach, jeżeli ktoś może mi wyjaśnić instrukcje...
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 mi wyeliminować ten problem. Program musi mieć funkcję...
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] '************* Konfiguracja uC *****************...
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ć źródło pod katem błędy dlaczego tak się dzieje?...
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 '***************************************... '-------------------- konfiguracje ----------------------------------------... $regfile...
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ż nie mam pomysłu jak to zrobić, proszę tylko o jakieś...
AVR nie traci zawartości pamięci przy resecie. Więc jeżeli program nie będzie jej zerował, rozwiązanie jest pewne. Inna sprawa, że w tym wypadku sugerowałbym, by watchdog nie robił resetu, tylko wywoływał przerwanie. Co to będzie za układ?
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 http://www.elektroda.pl/rtvforum/topic14... tak jak tam widać - polecenie Input jest uruchamiane tylko wtedy gdy jesteśmy pewni dzięki Bytematch...
Witam Wyłączenie przerwania nie wchodzi w grę mam tam reset watchdog-a a pyzatym chce kontrolować temp cały czas niezależnie od miejsca w którym się znajduje z najwyższym priorytetem. Myślę że pozostaje mi rozwiązanie 2 ale czy Kolega zgada się z moja teorią o przerywaniu transmisji danych do LCD? Pozdrawiam
włącz przerwania. Czyli zamiast disable interupts daj eneble interupts. W tym procku o ile się nie mylę watchdog też jest przerwaniem .
Witam. Napotkałem problem z uruchomieniem watchdoga w mega32, nie widzę w kompilatorze fusa odpowiedzialnego za jego uruchomienie tak jak to miałem w przypadku mega8 czy mega 168 gdzie mogłem załączyć go na stałe lub z możliwością operowania programowego. Wydają się nie działać polecenia config watchdog, start watchdog itd. Wpisałem bezpośrednio de...
Witam! Jakis czas temu znalazlem prosty bootloader napisany w Bascom'ie i po drobnych zmianiach (potrzebnych dla mojego ukladu) bootloader dobrze zdawal egzamin poza jedna rzecza... po wgraniu nowego FW do uC uklad trzeba recznie zrestartowac... Czy jest jakis sposob na zrobienie tego programowo po zakonczeniu wgrywania FW? Myslalem, ze wystarczy JMP...
Witam Mam problem z odczytaniem źródła resetu, a konkretnie tylko resetu od watchdoga. Napisałem specjalnie prosty program: Cls : Cursor Off Dim Count As Word Start Watchdog Lcd Mcusr 'pokaż źródło resetu Mcusr = 0 Do 'Pokaż, że uC nie został jeszcze zresetowany Incr Count Locate 2 , 1 : Lcd Count Waitms 500 Loop Jeżeli zresetuję µC przez...
Witam Chciałbym wreszcie zacząć używać watchdog`a w swoich programach, ale do tej pory miałem problemy ze zrozumieniem go (może nadal mam) Proszę na podstawie poniższego pseudokodu odpowiedzieć czy prawidłowo jest umieszczony w kodzie ?? $noramclear 'dyrektywa zapobiegająca wyzerowaniu zmiennych uzytych w programie Config Watchdog = 2048 'konfiguracja...
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...
Witam. Zrealizowałem moduł, z którym komunikuję się po RS485. Potrzebowałbym możliwości wykonania / zlecenia urządzeniu polecenia całkowicie resetującego mikrokontroler AVR (coś jak sprzętowy reset tyle, że inicjowany programowo). Ktoś ma pomysł jak takie coś wykonać?
Zamieniłem Atmega8 procesor Atmega168 i po resecie watchdoga, program się zawiesza procesor nie reaguje na zewnętrzny reset dopiero po odłączeniu zasilania i włączeniu ponownym układ działa poprawnie do ponownego resetu watchdoga. Czy może ktoś się z tym uporał, bo ja wypróbowałem już wszystko, co mi przez parę tygodni przyszło do głowy... Zamieszczam...
Witam, Bardzo proszę o sprawdzenie czy program jest poprawnie napisany. Nie korzystałem do tej pory z instrukcji Watchdog, więc nie mam pewności czy jest ona poprawnie umieszczona. Zadaniem programu jest stały pomiar napięcia i w razie wystąpienia spadku załączany jest przekaźnik na czas 2 minut. Jeżeli spadek będzie występował czały czas to przelaźnik...
Czy ma ktoś pomysł jak zabezpieczyć się przed utratą danych soft zegara wynikająca z resetu? (poza zapisem do pamięci co każdą minutę?)
Odkopałem oniegdaj popularny BASCOM AVR z myślą o przygotowaniu prostej aplikacji Low Power na ATMEGA328p, plan jest taki by co 8s WATCHDOG interrupt budził uP z POWERDOWN czy POWERSAVE na chwilę by zwiększyć wartość zmiennej i iść dalej spać do czasu gdy wartość tej zmiennej da sumarycznie te 5 min wtedy wykona się docelowy program i tu pytanie jak...
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...
Jak w BASCOMIE zaprogramować WATCHDOG dla Tiny2313?
Witam Od 3 dni siedze nad problemem z watchdogiem który wydłuza czas resetu procesora. Metodą kolejnych wykluczeń ustaliłem ze przyczyną jest odwołanie do instrukcji zwiazanych z obsługą LCD. Najlepiej jak podam przykład. Program uprosciłem do minimum : [syntax=basic4gl] $crystal = 1000000 $regfile = "attiny2313.dat" Config Portd = Output Config Watchdog...
No właśnie... jak zrestartować całego procka z poziomu bascoma? Do tej pory wpadłem na idiotyczny pomysł połączenia wyjścia PB.7 z PB.8 i poprzez podanie sygnalu na PB.7 restartuje procka, ale to zabrało mi 2 wyjścia :( Czy jest jakaś prostsza metoda ? Pozdrawiam Patryk
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...
Witam. Chciałbym dotrzeć do waszych doświadczeń związanych z watchdogiem, zwłaszcza w rodzinie AVR Atmela, programowanych w środowisku Bascom. Czy może się zdarzyć, i czy zdarzyło się wam kiedyś, że mimo aktywnego watchdoga procesor 'uwiesił się'? Czy taka możliwość teoretycznie jest możliwa? A jak to wygląda w praktyce?
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.
Zobacz jak ja to zrobiłem na Mega8 http://obrazki.elektroda.pl/8838731900_1... 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 wklejam...
hmmm Przede wszystkim: Enable Interrupts On Timer0 Przerwanie Stop Watchdog Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 256 'PWM=250Hz Load Timer0 = 195 To włączenie przerwania jest wstrętne w tym miejscu:P Co do wniosków... może spróbuj zwiększyć stos o...
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....
Nie spotkałem w bascomie funkcji do konfiguracji Pin change innterrupt ani przerwania od watchdoga, ale oczywiście można to zrobić na rejestrach. W bascomie nie znam zawartości pliku ATtiny44.dat Czy oprócz nazw rejestrów są jeszcze bity? [syntax=basic4gl]$regfile = "ATtiny44.dat" Dim Praca as Bit Praca = 0 Config PINA.5 = Input PORTA.5 = 1 'włącz wewnętrzne...
Ja też miałem takie cyrki z przerwaniem. napisałem więc program w ten sposób: '///////////////////////////////////////... '////////// TERMOSTAT /////////////// '///////////////////////////////////////... $crystal = 4000000 'rezonator 4MHz $regfile "attiny2313.dat" 'attiny 2313...
Witam ! Napotkałem taki problem: Mój program wykorzystuje przerwanie z końcówki INT1. uC M32. Program w Bascomie. Zdarza się, że na wejściu INT1 pojawia się stałe zero i wtedy przerwanie wykonuje się na okrągło, co powoduje zwis programu i reakcję watchdog'a. Próbowałem po wywołaniu przerwania wyłączyć go poprzez Disable INT1 i właczać po pewnym czasie...
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 to tzw. składaki. Po prostu patrze jak ma ktoś inny...
Program Trawiarki PCB przerobiony nie działa nie daje się kompilować Schemat http://obrazki.elektroda.pl/5213318500_1... Wejścia przełączników podłączony do portd.3 i portd.4 oraz wolny portd.5 chcę wykorzystać do załączenia pompki do napowietrzania po osiągnięciu temperatury 35 stopni oraz załączania oświetlenia miejsca trawienia. [syntax=vbnet]'*************...
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. wyświetlacz jest taktowany częstotliwością...
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...
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. Czy ktoś mądry mógłby zerknąć na kod i powiedzieć...
Witam. Ja muszę użyć watchdoga, bo robię urządzenie do którego będzie ciężki dostęp więc w przypadku zapętlenia muszę odciąć prąd w całym budynku aby odciąć prąd prockowi. Przypadkowy reset układu nie będzie miał większego znaczenia, ale zapętlenie to poważny kłopot. Pewnie nad watchdogiem bym się nie zastanawiał, ale mój sterownik będzie podłączony...
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=http://www.elektroda.pl/rtvforum/to... [syntax=vb]$regfile = "m16def.dat" 'informuje kompilator o pliku $crystal...
(at)dondu Twoje artykuły czytałem dokładnie ;-) Z kodu poniżej wycięte ustawianie portów (bonie widziałem żadnej różnicy w zużyciu prądu). Procek ustawione fusami na 8MHz wewnętrzny z podziałem przez 8 [syntax=vbnet] $crystal = 1000000 ' ustawiamy prędkość zegara $baud = 9600 ' ustawiamy prędkość transmisji $hwstack = 220 ' ustawiamy wielkość stosu...
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...
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ą się skasować przy nagłych skokach napięcia zasilania Dim Epamiec(16) As...
Wprowadzić uC w tryb POWER_DOWN możesz zawsze, tylko jakie będą tego efekty, jak mówi datasheet: -zatrzymywany jest oscylator zewnętrzny - z trybu tego uC może zostać wybudzony poprzez zewnętrzny reset, reset od watchdoga oraz reset od układu Brown out detector,zewnętrzne przerwanie od INT0/INT1 - Ten tryb uśpienia w zasadzie zatrzymuje wszystkich generowanych...
Mam prośbę do tych znających lepiej BASCOMA, o przeanalizowanie tego kodu. Program po pewnym czasie wysypuje się. Temperatura co jakiś czas waruje. Podprogramy działają, ale całość nie chce współpracować. Z góry przepraszam za jakość kodu. [syntax=vb]'--------------------KONFIGUR... $regfile = "m16def.dat"...
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]'----------------------...
Świeci dziadowsko bo i przerwanie się długo wlecze. [syntax=basic4gl] If Licznik < Czekaj(11) Then Portb = &B00000100 Else Portb = &B00000000 If Licznik < Czekaj(11) Then Portd = &B0010000 Else Portd = &B00000000 A nie lepiej: If Licznik < Czekaj(11) Then Portb = &B00000100 Portd = &B0010000 Else Portb = &B00000000...
Macie panowie racje. Generalnie to dawno temu zaczlem przygode z bascomem wtedy na 89C4051 ale poleglem i dalem sobie spokoj na wiele lat. Teraz wrocilem do tematu. Zaczalem od prostackich programow gdzie np delay 1sekunda sluzyl mi do mrugania ledami itd. Wstawialem takich delai wiele i mi diodki mrugaly jak cos tam mialem zglosic. Ale zaczalem sie...
Witam, mam problem z obudzeniem procesora za pomocą modułu RFM12. A dokładnie z przerwaniami z nIRQ Jak usunę fragment wprowadzający w power down... i wyłączę przerwania to nadajnik poprawnie wysyła dane do odbiornika. Kod w załączniku. nIRQ ciągle jest na niskim stanie, mimo to, że jest podciągnięte programowo i za pomocą rezystora 10k. Po odłączeniu...
... 2. Oczytujesz temperaturę kiedy w tle "lata" sobie przerwanie. Nie mam zielonego pojęcia czy Bascom wyłącza przerwania na czas obsługi 1wire. Jeśli tak to Twój wyświetlacz LED dostaje 'czkawki' podczas odczytu temperatury. Jeśli Ci to nie przeszkadza kwestia kosmetyki i już. Jeśli nie dostaje 'czkawki' to zapewne Bascom nie wyłącza przerwań i to...
Fragmenty kodu: [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 256 $swstack = 256 $framesize = 256 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db7 = Pa.0 , Db6 = Pa.1 , Db5 = Pa.2 , Db4 = Pa.3 , E = Pa.4 , Rs = Pa.5 Config Sda = Portd.1 Config Scl = Portd.0 Config 1wire = Portc.2 Config Pind.4 = Output 'oc1b niebieskie Config Pind.5...
http://obrazki.elektroda.pl/7139682100_1... 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...
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...
przeanalizuj sobie dobrze ten kdzik poniżej bo on jest dobrze napisany - naprawdę ;) ja wprawdzie kiedyś przy okazju swojej wytrawiarki też zrobiłem sterowanie w Bascomie 2 odbiorników przy 75 krokach ale dałoby radę więcej kroków i jeszcze kilka odbiorników. Z tym, że już nie pamiętam dokładnie zagadnienia więc trudno mi się teraz znowu w to wgryzać....
czyli w hlepie od bascoma klamia?bo tam jest wyraznie napisane ze watorsc w load timer jest odejmowana od 255(w timer0) czyli przy 100 watosc ladowana do timera wynosi 155 czyli timer przeladuje sie po 100 cyklach dla presclae 8 po okolo 200µs i co tyle bedzie przerwanie a do eepromu odwoluje sie readeeprom.....przyjrzyj sie! $crystal = 4000000...
Witam. Kod wkleja się w znacznikach Syntax. Składnia: Kolorowanie składni: In this mode, the external Oscillator is stopped, while the external interrupts, the USI start condition detection, and the Watchdog continue operating (if enabled). Only an External Reset, a Watchdog Reset, a Brown-out Reset, USI start condition interrupt, an external level...
Napisałem kod według Help-a. Zegar się wyświetla, kompilator nie zgłasza błędów, ale nie chodzi. W pomocy jest podane kilka procesorów z którymi ta instrukcja jest aktywna, jest tam też Mega32(3). Co oznacza te 3 w nawiasie to nie wiem. Jasno jest napisane że Timer uC musi posiadać tryb asynchroniczny. Czy ATMega32A go ma? W pdf-ie nie udało mi się...
bascom przerwanie watchdog watchdog przerwanie atmega watchdog przerwanie
suszarka suszyć regulator ciśnienia renault geometria zawiesi
bc414 zamiennik bc414 zamiennik
Zalanie kuchenki gazowej - skutki i działania Niegrzejąca stopa żelazka Tefal - przyczyny i rozwiązania