Witam, Zaczynam właśnie zabawę z procesorami atmega i mam problem z watchdog'iem na atmega8. Pod atmega328 działa to super ale tam jest troszkę inaczej (jest WDIE, którego w atmega8 nie ma) Skorzystałem z przykładowego kodu z tej strony #include <avr/wdt.h> #include <avr/sleep.h> #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr)...
Ustawiłem bit WDIE oraz WDP1 i WDP2 ( ustawiają sekundę jak było napisane w nocie katalogowej), lecz jak śledzę to debuggerem to widzę że system dalej się resetuje. Dziwna sprawa dioda świeci się (około 1 sekunda) i gaśnie (na około 1 sekundę), chociaż nie ma delyów ani operacji xor. Wydaje mi się że ten program powinien zapalić diodę po upływie 1 sekundy...
http://obrazki.elektroda.pl/5959558100_1... Witam :) Razem z kolegą chcielibyśmy się pochwalić naszą maszyną :) Jest to ramie robota oparte na serwomechanizmach modelarskich. Ja zająłem się sterowaniem i elektroniką, a kolega robił projekt 3D w SketchUp i konstrukcje http://obrazki.elektroda.pl/9008440700_1... Początkowo...
https://obrazki.elektroda.pl/9520538200_... Jest to raczej sprzęt dla fanów atmegi ;) Z punktu widzenia ekonomii nie ma wielkiego sensu. Stosując elementy smd oraz inny mikrokontroler można zrobić sprzęt i lepszy i tańszy. A części użyłem jakie miałem na stanie. Właściwości : - 1,2,4 kanały analogowe min (max 100,50,20 ksps) pasmo...
witam. od kilku dni probuje rozwiazac pewien problem. mianowicie ucze sie programowac avr'y i postanowilem zrobic budzik. jednak problem zaczal sie gdy zaczalem dzialac na przerwaniach. na wejscie int2 podany mam sygnal o czestotliwosci 1Hz. ma on co sekunde powodowac przerwanie w ktorym jest odczyt zegara oraz wyswietlenie go na wyswietlaczu 2x20 znakow....
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...
Witam, Mam problemz AtMega z tematu. Ustawiam konfigurację Timerów wg manualki: tryb CNC; prescaler; zezwolenie na przerwania CompareMatch. Po ustawieniu tego odblokowuję przerwania przez "sei();" i.. procesor się resetuje. Dodam też, że taki sam kod działa bez problemów na AtMega 16/32/64. Czy przy pisaniu kodu na te procesory (324/644/1284) trzeba...
(at)R-MIK Znowu nie na temat. Wbudowany w niektóre ATMega termometr służy do tego, żeby był. Żadnych sensownych właściwości to on nie ma, przy niewielkiej różnicy w rozchodzeniu się dźwięku w zależności od temp. i potrzebie tylko zgrubnego określenia odległości w czujniku parkowania na niewiele się zda. Obecność debug Wire też na nic autorowi, skoro...
Witam, prawdopodobnie błąd jest w inicjalizacji watchdog. Wykorzystujesz do tego dwie funkcje, init_WDT() oraz init_watch_dog(). Pierwsza init_WDT: https://obrazki.elektroda.pl/2044113200_... ale już kolejna linijka [syntax=c]WDTCSR=_BV(WDIE);[/syntax] kolejne nadpisanie rejestru WDTCSR, w tym momencie ponieważ mieścisz się w czterech...
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, W dokumentacji dowolnego mikrokontrolera ATmega z łatwością można odnaleźć tablicę z wektorami przerwań, np. taką: 1 $0000 RESET 2 $0002 INT0 External Interrupt Request 0 3 $0004 INT1 External Interrupt Request 1 4 $0006 INT2 External Interrupt Request 2 5 $0008 INT3 External Interrupt Request 3 6 $000A INT4 External Interrupt Request 4 7 $000C...
Przepraszam że podepnę się do tematu ale także walczę z RS485. I to walczę dobre kilka miesięcy! A zatem moje pytania: 1.Rozumiem że terminator muszę umieścić na początku i końcu mojej linii rs485 ? 2.Rezystory podciągające linie A i B muszą być przy każdym istniejącym module w sieci? 3.Rezystor podciągający RX do VCC musi znajdować się w każdym module?...
A którą wersję Bascoma używasz? 1.11.9.0 Timer1_int: Counter1 = 54040 ' 10 razy na sekunde .... Return Nie wiem dokladnie ile cykli w bascom-avr jest zuzywane na odlozenie wartosc rejestrow na stos dlatego wybralem wartosc 54040 zamiast 54016 jako bardziej zblizone do 0.1s / stos + 0,09979167s / moze ktos wie ile dokladnie cykli jest tracone przed...
Rozumiem, że znaczników Syntax w poście jednak nie będzie :?: To raczej nie zwiększy zainteresowania tematem ;) Zainicjalizowałem watchdog'a przed pętla while No i? Ponawiam pytanie: czy masz pewność, że pomiędzy dwiema operacjami włączającymi wdt nie wystąpi przerwanie? Swoją drogą nawet gdyby włączenie wdt zadziałało, to jest ustawiony na 8s a nie...
Witam Problem jest następujący,jak wstawie sekwencje uruchamiania watchdoga na poczoatku programu to jest ok i watchdog dziala dobrze, natomist jesli wstawie tą sekwencję po opóźnieniu wiekszym od 19 ms to watchdog resetuje atmege w taki sposób ze program sie zatrzymuje i nawet reczny reset nie pomaga, dopiero wylaczenie zasilna jest skuteczne, poniżej...
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: -----------------------...
Napisałem sobie programik który generuje na porcie przebiegi: #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/wdt.h> #define TH PORTC #define TL PORTD volatile unsigned int x; SIGNAL (SIG_INTERRUPT0) { x++; } // int main (void) { DDRC=0xff; DDRD=0xfb; PORTD=0x04;...
Witam. Mam następujący problem - w pracy napotkaliśmy sytuację, gdy jest z programów (pisany na ATxmega256A3) potrafi się zawiesić w trudnym do określenia momencie. Jest to kłopot, natomiast pojawił się większy, mianowicie watchdog nie resetuje urządzenia. Jakie mogą być tego przyczyny? Moje przypuszczenia: 1. Pisanie po adresach pamięci zarezerwowanych...
Pozwoliłem sobie założyć nowy temat w takiej dziwnej sprawie. Procek wykonuje program całkowicie poprawnie aż do odliczenia czasu przez watchdoga, czyli w tym przypadku około 8 sekund. I tu mój problem albo czegoś nie doczytałem albo jeszcze coś innego. Procesor wchodzi w jakiś dziwny stan co skutkuje w tym przypadku że mrugają wszystkie diody na porcie....
Witam. Układ mojej konstrukcji, opaty na AVR2313 i zaprogramowany w Bascom'ie z zaimplementowanym programowo watchdogiem, pracował w trybie czuwania przez ok. rak czasu, baz najmniejszego zwieszenia. Ostatnio niestety skończyła się jego dobra passa i wymagał resetu. Dziwna sytuacja... Gdzie był wtedy watchdog? Ostatnio energetyka bawiła się prądem działy...
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...
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?
Witam, Używam procka w warunkach o dość silnych zakłóceniach elektromagnetycznych i często zdarza się, że procek a właściwie dwa połączone przez i2c zawieszają się. Jeśli procek się zawiesi w wyniku bledów w transmisji wybudza go wdt. Problem w tym, że gdy wdt zadziała raz i procek nawiąże transmisje jest wszystko ok, ale gdy po pierwszym resecie nie...
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...
Mam problem z wathdog – nie wybudza. Krotki program na AVR Atmego328P zdaje się pracowac poprawnie, bo prad na 4sekundy spada z 6mA do 2,5mA by znowu wzrosnac. [syntax=c] #include <avr/sleep.h> #include <avr/power.h> volatile uint8_t deep_seconds_left; void setup() { setupWDT(); } void setupWDT() { /*** Setup the WDT ***/ /* Clear...
Czy ktoś może mi powiedzieć czy poniższy zapis spowoduje poprawne właczenie watchdoga na 1s w ATmega128? Wyczytałem, że powinno się w tym procku wpierw wyłączyć watchdoga a następnie go włączyć. Czy poniższy zapis to realizuje?? Jeśli są jakieś błędy to prosiłbym o ich korektę. ; DISABLE WATCHDOG ldir31, (1<<WDTOE) | (1<<WDE) outWDTCR, r31...
Witam serdecznie! Mam problem z programem do obsługi rejestracji pilota RC5. Mianowicie program resetuje się po 2s. W tym czasie rejestracja działa bo moge zaprogramować max 2 przyciski. Podejrzewam, że winny może być watchdog. Ale co z nim zrobić? Na FS jest włączony. Może programowo coś zmienić? Oto fragment kodu z procedurą rejestracji: Pilot:...
Witam, mam problem z atmega162 - każde wywołanie funkcji _delay_ms lub _delay_us przerywa wykonywanie programu. Fusebity ustawione na: efuse - FF, hfuse: C9, lfuse: EF, korzystam z usbasp, kwarc 12M Taki kod działa - na wyjściu jest 0: [syntax=c]#include<avr/io.h> #include<util/delay.h> #define F_CPU 12000000 int main(void){ DDRC = 0xFF;...
witam! czy AVR Studio (konkretnie v4.11.401) podczas symulacji programu symuluje również reset procka spowodowany zadziałaniem watchdoga? Uaktywniam go tak: wdr ldi temp, (1<<WDE)|(1<<WDP... out WDTCR, temp Aha, wg. datasheet po ustawieniu bitu WDCE w WDTCR powinien on zostać skasowany hardwareowo po 4 taktach XTAL. Mój symulator...
To przy budzeniu przerwaniem przy pierwszym sygnale przerwaniu wykona się przerwanie i w nim kod? Tak. Warto zapoznać się z: https://www.nongnu.org/avr-libc/user-man... znacie jakieś sposoby na resetowanie mikrokontrolera oprócz wykorzystania sprzętowego. Skok pod adres 0 nie resetuje rejestrów procesora (np. DDRx) i trzeba to...
Jeśli piszesz w WinAVR i otworzysz plik w asemblerze to zobaczysz, że każde nie używane przerwanie prowadzi do resetu. Nieużywane tzn. nie posiada funkcji obsługi przerwania. Przerwanie takie od np. przepełnienia timera może nastąpić jeśli zostanie odblokowane, ale jak mówisz w tym przypadku to nie to. Możesz po prostu wyłączyć watchdoga i upewnić się...
Witam wszystkich, proszę o pomoc w rozwiązaniu problemu w kodzie w języku C ale ze wstawką asemblerową. Poniżej zamieszczam kod. [syntax=c]/* * main.c * * Created: 2/14/2022 1:11:10 PM * Author: Maciej */ #include <xc.h> #include <avr/wdt.h> #include <avr/interrupt.h> #include <util/delay.h> #define WDT_ENABLE ISR(WDT_vect)//przerwanie...
Witam. Zmontowałem przed chwilą i sprawdzone. Zostaje tylko pozbycie się drgań styków klawisza. [syntax=c]#define F_CPU 16000000UL // Atmega644 #include <avr/io.h> /*biblioteka avr*/ #include <string.h> /*biblioteka napisy*/ #include <stdio.h> /*biblioteka podstawowa C*/ #include <stdlib.h> /*biblioteka C*/ #include <stdbool.h>...
CPI r24, 4BRSH wylacz_usypianie...wylacz_usypianie:CLI.... Kod: avrasm ] CPI r24, 4BRSH wylacz_usypianie...wylacz_usypianie:CLI.... Powiem szczerze, że nie bardzo rozumiem. Obecny kod wygląda w ten sposób: [syntax=c]/* * main.c * * Created: 2/14/2022 1:11:10 PM * Author: Maciej */ #include <xc.h> #include <avr/wdt.h> #include <avr/interrupt.h>...
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...
https://obrazki.elektroda.pl/9342271000_... Dzień dobry, Urządzenie powstało w celu monitorowania poziomu wilgotności w pewnej zamkniętej przestrzeni. Przekroczenie zadanego poziomu jest sygnalizowane sygnałem dźwiękowym (buzzer) i świetlnym (LED). Wartości z ostatniego pomiaru można w każdej chwili odczytać, po naciśnięciu przycisku,...
Nie wydaje mi się że to problem z watchdogiem, przyznam się że do tej pory nie miałem potrzeby korzystania z niego i nigdy go nie uruchamiałem;) Standardowo chyba nie jest włączony watchdog? OK. problem lezal w makefile. Poczatkowo program składał się z kilku plików zrodlowych, teraz przerobilem makefile zeby kompilowal tylko jeden plik i widać popełniłem...
Nie sadze ze 10s, jeśli chodzi Ci o przerwanie od watchdoga to wynosi ono 8s w nowszych układach a w starszych tylko 2s. A jeśli chodzi o power down to procesor czeka juz tylko na określone przerwania ( w przypadku tego układu jest to stan niski na INT0 lub spełniony warunek startu USI) Nowsze procki budzi sie jeszcze zazwyczaj timerem watchdoga oraz...
Ja mam notę PDF do tego procka z 2004 roku i jest w niej wszystko OK Najchętniej otukł bym komuś głowę, z tego Atmela. :P Zwykle najnowsza wersja czegoś, nie psuje tego, co już było poprawne w wersji poprzedniej. ....grrrr.... oczywiście rozumiem, że te dwie linie nie były zakomentowane i to tylko omyłkowo wkleiłeś taki kod - bo wtedy na prawdę by...
Witam ! Wykorzystuje kilkanaście procesorów Atmega 8, 16 i 32 współpracujących razem. Wymianiają pomiędzy sobą dane za pomocą jednego z nich, który wywołuje przerwanie INT w kolejnych procesorach i pobiera lub wysyła dane przez ten pin. To taka prosta trasmija szeregowa. Po odebraniu danych odwracają się role pinów w jednym i drugim procesorze Input...
Witam! Zająłem się zabawą z Atmegą 88 i mam problem z uzyskaniem katalogowego poboru prądu w głębokim uśpieniu. Atmega podłączona minimalnie, tylko 2 kondensatory 100n przy zasilaniu i 2 ledy które pomagają upewnić się że Atmega śpi. Przy zasilaniu 1,8V udało mi się zejść do 8uA. ADC, komparator, watchdog i brown out wyłączone. Taktowanie wewnętrznym...
Więc tak. Skoro łączysz oba układy RSem to po co ci jeszcze jakieś przewody do wywoływania przerwań? Pewnie dlatego, że na tyle ile umiem obsługiwać RS tak sobie radzę :P ogólnie miałem taką wizje, żeby oba układy pracowały normalnie w spoczynku bez siebie. Na panelu np mam godzine, a na tym drugim układzie temperature odczytaną z LM35. A przerwania...
możesz zrobić przerwanie z timera + programowy "watchodg" który sprawdzi co jakiś czas czy procesor działa. Jeśli nie (bo wartość w programowym watchdogu jest zbyt duża) to wtedy taka sekwencja: 0. sprawdzenie flagi "gotowy" - jeśli ustawiona to czekaj na reset z WD - nie rób nic 1. reset wd 2. zapis do eeprom 3. ustawienie flagi "gotowy" cóż, słyszałem...
A gdy przerwanie załóżmy wystąpi po uruchomieniu watchdoga, ale przed instrukcją cli(). Wtedy w przerwaniu zostanie wyłączony watchdog i cały program zatrzyma się na while(1)? Tak. Należałoby przenieść cli() przed kod uruchomienia watchdoga aby zapobiec takiej ewentulności. To w takim razie można używać przerwań do wyłączania watchdoga? Wszystko wedle...
Rozumiem doskonale ale zrobiłem coś innego, mianowicie przy resecie watchdoga zmienne sie resetują ale można zdefiniować zmienna w ten sposób : [syntax=c] uint8_t cycle __attribute__ ((section (".noinit"))); [/syntax] Stan zmiennej jest zapamiętywany nawet po resecie watchdoga. Dlatego można zliczac cykre uruchomienia resetu. [syntax=c] int main(void)...
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...
wlasnie o pujscie w maliny mi chodzi - inny program po jakims czasie dziwnie mi sie wiesz - czas jest uaktualniany a temperatura nie. chce wylapac moment ze temperatura stoi - czujnik nie reaguje i wowczas wykonac reset procka. Mozesz krotki przyklad na obsluge dac? Cos prostego byle zawieralo kompletna obsluge watchdoga - uaktywnienie, reset itd. Pozniej...
Właśnie czytałem trochę o tym wszystkim i rzeczywiście najlepiej zrobić to na A/D i D/A konwerterach. Na razie wykorzystam ATMegę, tym bardziej, że wytrzymuje temperatury od -55 do 125 stopni i ma watchdog'a. Konwerter A/D użyję TLC549IP bo jest w miarę tani i też odporny na temperaturę. Poszukam jeszcze D/A i biorę się za robotę. Chodzi mi tylko jeden...
Wkleje plik includowany z obsługa LCD, który stosuje oraz czesc programu głownego: LCS.asm: ;=======================================... ; Obsluga LCD zgodnego z HD44780 dla 8-bitowej szyny danych v1.0 ; Nie obsluguje BUSY flag ani odczytu adresu z LCD ;!!! Znak lub komenda do wyslania do LCD przekazywane sa przez...
Wiec zgodnie z obietnica :) wykonalem zalecania kolegi _Robak_ i napisalemm prosty programik ktory mroga dioda za pomoca przerwania. Oto on: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL (SIG_OVERFLOW2) { TCNT2 = 0x00; PORTD ^= _BV(PD3); } int main (void) { sei(); DDRD = 0x08; PORTD |= _BV(PD3); TCNT2...
A ni jest tak, że włączenie silnika i wogóle pracujący silnik czasami resetuje ci procka? Daj długi delay na początku to szybko to zauważysz. Nie masz włączonego watchdoga którego nie kasujesz? Czy masz dobrze skonfigurowane rejestry od przerwań? Może włączyłeś jakieś przerwanie a nie zrobiłeś jego obsługi? Może nie masz podciągnięcia na wyjściu sterującym...
Witam Na wstępie powiem że nie jestem ekspertem w C. Pisze programik działający na Atmedze16. Mam dwa dwa układy Ram i RTC i muszę się z nimi dogadać przez SPI. I się nie dogaduje. Zeby zapisać cos i odczytać z Ramu muszę zapisać (dla zapisu) kod rozkazu - 8 bitów, adres komórki zapisywanej - 24 bity i dane - 8 bitów. Przy odczycie analogicznie rozkaz,...
Kwarcu zewnętrznego nie używam, tylko standardowe ustawienia atmegi (1MHz). Próbowałem różnych (ISR i SIGNAL) bo już nie wiedziałem gdzie szukać błędu. Ogólnie używam starszej wersji WINavr. Fcpu widziałem zadeklarowane w delay.h, dlatego drugi raz tego nie robiłem. Co do asm volatile ("WDR"::); łapiąc się wszystkiego co się...
Witam. Przeczytałem cały temat, ale nie jestem pewien jednej rzeczy...chodzi mi o naprawdę najprostrze rozwiązanie. więc wystarczy zrealizować ten schemat : http://obrazki.elektroda.net/43_12886186... oraz zaprogramować ten kod podany na 5-tej stronie tematu: '---------------------------------------... '---------------------------------------...
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...
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...
i dalej tak samo pomimo to że dajesz: Do W = Getadc(0) S = "ala" Print S Wait 1 Reset Watchdog Loop to opóźnienie 1s przy nadawaniu ????? oczywiście, że bufferout można sobie podarować, ale też wyglada chyba na to, że ten serialin ci nie działa chyba na tym porcie poza tym to tak jeszcze jedna rzecz mi przyszła do głowy - kiedyś też tak robiłem układy...
data uchar Watch; //flagi kontrolne void procedura_1 (void) { Watch=Watch || 1; // ustawiasz flage nr1 .... .... .... } void procedura_2 (void) { Watch=Watch || 2; // ustawiasz flage nr2 .... .... .... } void procedura_3 (void) { Watch=Watch || 4; // ustawiasz flage nr3 .... .... .... } //itd... void procedura_obsuluga_Watchdoga (void) interrupt x {...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Napisałem programik w celu testowania czasu w przerwaniu ADC. #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> int main(void) { sei(); DDRB=255; DDRC=255; ADMUX = _BV(REFS0)|_BV(REFS1); ADCSRA = _BV(ADEN)|_BV(ADIE)|_BV&...
No tak, nie zauważyłem, że urządzenie jest odpalane z przycisku, niezbyt jasno to jest opisane. Wydawało mi się, że przerwanie INT0 jest od któregoś z czujników 1-wire. Przykład, który podałem nadaje się raczej do systemu cały czas włączonego. Dodano po 9 Co do czasu wykonywania przerwania to nie będzie trwało 100ms. Tylko dużo, dużo, krócej bo tylko...
Witam, 1. Mam nie lada zagwozdkę z obsługą zegara PCF8563p przez Atmege32 + wyświetlacz LCD. Sam zegar działa dobrze. Poprawnie wpisuje datę i godzinę. Problem pojawia się z odczytem. W PCF ustawiam wyjście na 1Hz, które jest połączone z Atmegą jako przerwanie INT0. Co kilka razy, przy resecie uC, gdy program startuje od nowa, to czas zaczyna się niepoprawnie...
al555 napisał: "Oscylator pracuje cały czas, nawet po zawieszeniu...." A jak to sprawdziłeś? al555 napisał: "jak wgram do układu prosty program zmieniający cyklicznie stan wyjścia na przeciwny to układu nie można zwiesić ( wszystkie piny układu są wtedy jako wyjścia, nie załączam nawet watchdoga )" Jeśli: " wszystkie piny układu są wtedy jako wyjścia"...
Jeśli WatchDog jest domyślnie wyłączony to ja go nie konfigurowałem. Także fusebit WDTON jest nie ustawiony. Z resztą: Pragnę zauważyć, że kasowanie bitów WDE i WDIE należy przeprowadzić operacją AND na zanegowanych bitach.
Przydatne będzie wyposażenie układu w alarm dźwiękowy, uruchamiający się gdy temperatura wody w piecu przekroczy 90°C. Procesor sterujący pompą powinien pracować bezawaryjnie, tzn powinny być wyeliminowane wszelkie możliwości zakłócenia lub przerwania jego pracy (zasilacz powinien być podłączony do tego układu a nie dostarczany z daleka, pompa powinna...
watchdog przerwanie bascom przerwanie watchdog atmega watchdog
elektryczna platforma komar lampa multi monitor
instalator steam instalator steam
Czujnik ciśnienia paliwa w VW Passat B6: lokalizacja i objawy awarii HAMM HD 120i – błąd 1118: niskie ciśnienie hydrauliki wibracji, diagnostyka i przyczyny