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?
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
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 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...
Cześć, nigdy nie miałem problemów w kwestiach używania watchdog'a do wybudzania mikrokontrolerów pic - czy to serii 16 czy 18. Problem mam z układem pic24fj128ga202 (kompilator XC16, ver. 1.7). Mikrokontroler po wyjściu z uśpienia pomimo użycia instrukcji wyłączenia watchdog'a resetuje się. Zarówno funkcja Sleep() czy sam watchdog działają niezależnie...
Witam od paru godzin męczę się z uruchomieniem watchdoga. Problem jest następujący: Watchdog nie działa. Ma włączony zegar (SYSAHBCLK), ustawiony bit w PDRUNCFG, wybrany oscylator (IRC, dzielnik domyslny 256) i przełączony oscylator (bit UEN). Następnie zostaje mu wpisane jego timeout (WDTC=300000) i włączenie z resetem (WDMOD=3). Bezposrednio następne...
Witam serdecznie. Mam taki problem w sumie udało mi się go rozwiązać elektronicznie ale... chodzi o zwis procesora (atmega8) np gdy ten wyłącza jakiś przekaźnik, dałem parę kondensatorów tu i ówdzie i problem już nie występuje, ale pomyślałem aby dać jeszcze "łaczdoga" w programie. Jako że nigdy tego nie robiłem to poproszę o małą pomoc. Jest tak: -----------------------...
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ę?)
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.
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...
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....
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...
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...
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...
włącz przerwania. Czyli zamiast disable interupts daj eneble interupts. W tym procku o ile się nie mylę watchdog też jest przerwaniem .
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...
Ś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...
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]'----------------------...
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...
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...
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...
... 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...
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...
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...
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ć....
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ę...
przerwanie watchdog bascom watchdog przerwanie atmega watchdog przerwanie
samsung blokada telefonu samsung nawigacja scenic alpine panel
konto samsung oprogramowanie pobrania
Chmura wCapCut: Działanie online i offline Hydropopychacze w silnikach Kia: modele i działanie