Niestety wciąż brakuje licznika przerwań dla BL0937. Myślę, że istnieje niedokończona wersja: https://github.com/openshwprojects/OpenB... Btw, czy możesz również opublikować szablon dla tego urządzenia z aplikacji internetowej?
Brakuje inicjalizacji stosu i powrotu z obsługi przerwania (reti).
Jak dla mnie brakuje w ogóle funkcji do obsługi przerwania: [syntax=c] void DMA1_Channel5_IRQHandler(void) { }; [/syntax] więc powinieneś dostać dodatkowo HardFault.
Mnie tam brakuje ustawienia przerwania: [syntax=c]TIM1->DIER = 0x00000001;// enable update interrupt[/syntax] Ogólnie takie coś powinno działać: [syntax=c]TIM1->CR1 = 0x00000000;// default TIM1->PSC = 0x000000FF;// set max prescaler TIM1->ARR = 0x00000FFF;// set max reload count TIM1->CCMR1= 0x00000068;// set PWM mode 1 TIM1->CCR1= 0x000000FF;// set...
Witam, A co to są za dwa otwory (?) to kreskowanie otworu na bolec zabezpieczający przed wysunięciem wałka (wałek w pewnym miejscu ma przewężenie lub rowek na bolec), niewidoczne powierzchnie lub detale kreskuje się, żeby pokazać, że "coś jest jeszcze w środku" lub zasłonięte. Rysunek jest niedokładnie wydrukowany, dlatego tak się wydaje. Z tego względu,...
może być tak że ostatnie złącze pci jest współdzielone z isa(często się to zdarzało w starych płytach) i dlatego wiesz ci się komp ewentualnie brakuje przerwań..........
Portd.3 wiem że to jest przerwanie int1 , timer według pomocy bascoma startuje po wpisaniu preskaler..x a na oscyloscopie cisza. Teoretycznie podaję 0 na portd.3 wtedy następuje przerwanie ale brakuje chyba odblokowań. Mnie tu brakuje Start Timer1 po zadeklarowaniu jego preskalera. Poza tym, obsługę przerwań trzeba umieścić poza pętlą główną. Oraz...
Moim zdaniem konfiguracja DMA jest trochę niepełna, a ponadto brakuje obsługi przerwania od DMA. Przynajmniej w jednym miejscu wpisz jawnie wartość do rejestru sterującego (CR = ...). Na razie wszędzie masz |= lub &=. Zakładając, że pierwszy transfer poleci i przerzucisz 19200 słów, to później DMA się zatrzyma i nic więcej nie prześle. I jak to ma coś...
(at)atomiquepingouin cóż, producent mógł zmienić GPIO używane dla przekaźnika i przycisku. Otwórz aplikację internetową i użyj GPIO Doctor, aby sprawdzić, które piny są używane dla przekaźnika i przycisku w Twoim urządzeniu. (at)madmaxs Obawiam się, że BL0937 nadal brakuje licznika przerwań na platformie BL602: https://github.com/openshwprojects/OpenB...
EA = 1; TMOD = 0x01; TR0=1; TH0 = 0x4C; TL0 = 0x00; Przed while(1) licznik TO inicjuj tylko raz Nie wiem jaka była intencja ale licznik raczej jako 8bit z autoprzeładowaniem TMOD=2, bo w pętli trudno określi co będzie pierwsze - przerwanie czy inicjacja i przerwania może nigdy nie doliczyć ; brakuje ET0=1; deklaracja unsigned int licznik; jako globalna...
(at)simw No tak, ale to jest bezsensowne czekanie na czas transmisji 2 bajtów z 16. Trochę mało efektywne. BSY nie wygeneruje przerwania. No tak brakuje przerwania od tej flagi, ale czy przy bardzo szybkim SPI to taki duży czas będzie? Sprawdzanie flagi mogłoby następować dopiero przy startowaniu kolejnego bloku danych, gdzie pewnie jeszcze kilka taktów...
PORTC &= (0 << PC0); A co to za konstrukcja? Przesuwanie zera w ciągu zer? Jak chcesz wyzerować bit to rób to tak: PORTC &= ~(1<<bit); Poza tym: - źle ustawiasz MCUCR - brak aktywacji przerwań w GICR. Zamiast tego grzebiesz w nieistniejącym rejestrze (Atmega8) GIMSK. - brakuje w main zapętlenia przez co program zawiesza przerwania...
Nie włączyłeś globalnie przerwań. Poza tym brakuje pętli głównej w kodzie.
brakuje instrukcji sei(); włącza ona globalną obsługę przerwań. Umieść ją zaraz przed pętlą while(true) Dodano po 5 a poprawnie jest TIMSK1 = _BV(TOIE1);
Przestaje działać po jednym pomiarze ponieważ brakuje sei(); na końcu obsługi przerwania To chyba jednak nieprawidłowa sugestia. Inną sprawą jest że cli() na początku przerwania jest niepotrzebne. No chyba, że się mylę. Czemu tak uważasz? :roll: W obsłudze przerwania, na samym początku blokowane są wszystkie przerwania i nigdzie już nie są odblokowywane,...
to specyficzny program i nie musze wracac z przerwania brakuje mi tych 2 cykli
Kramer dobrze pisze. Ale na moim ECS było jeszcze coś, mianowicie gdy miałem włączony modem na płycie głównej (AMR czy jakoś) to nie miałem większości kanałów. Tzn w gierkach nie było losowych ścieżek (postacie rozmawiają, ale tylko jadną słychać i nie ma podkładu muzycznego) a winamp i windows milczały. Problem całkowitego zaniku dżwięku był też po...
Na przyszłość proponuję podawać bardziej znaczace fragmenty programu. A wtym przypadku, domyślam się, że brakuje deklaracji jako volatile zmiennej współużywanej w przerwaniu. Jaki masz ustawiony poziom optymalizacji w kompilatorze?
Przy odpaleniu pwm od timera2 czyli na pd7, oba porty dają poprawny sygnał. A brakuje pomysłów, już nawet atmegi podmieniłem
Czy mógłbyś podrzucić resztę kodu? Brakuje mi tu przerwania...
Brakuje globalnego odblokowania przerwań: "Enable Interrupts"
Prawdopodobnie w procedurze obsługi przerwania brakuje rozkazu RETI. Powinien to być jeden z ostatnich rozkazów (powrót z przerwania i włączenie przerwań). T
Przychodzi mi do głowy tylko to, że SSD to wielokrotna translacja i gdzieś przy jakichś danych kontroler robi faila. Dobrze było porównać bajt w bajt kopię i oryginał oraz porównać ich geometrię. A to przerwanie w połowie to tez osobna kwestia. Jeśli wszystkie dane były w początkowych obszarach widzianych sprzętowo (celowo tak piszę bo geometria rozkładu...
Ewidentnie ścieżka jest w tym miejscu przerwana, brakuje punktu lutowniczego i przepustu na drugą stronę. Możesz śmiało oskrobać trochę lakieru i połączyć kawałkiem srebrzanki. Przepust też możesz z niej po drodze zrobić. Pokaż jeszcze to miejsce od drugiej strony. W lewym górnym rogu widać też skorodowaną nóżkę od kondensatora, który dodatkowo jest...
ok, mnie także go brakuje.
Brakuje mu wolnych przerwań. Sprawdź czy można ręcznie przestawić mu przerwania na inne, jeśli nie, to odłącz/wyłącz zbędny sprzęt.
Co do tego przerwania w assemblerze to masz tylko czesciowo racje. Brakuje jeszcze paru ustawien. :)
Brakuje funkcji przerwania od timera0, chyba że to też wyciąłeś. Z tego kawałka kodu wciąż nie da się niczego wywnioskować. Jeśli wiesz lepiej gdzie tkwi błąd (skoro wybierasz fragmenty kodu), to po co ten temat?
PID to raczej nie do tego przedziału. Może zrobić przerwanie cykliczne i tam sprawdzać ile obrotów brakuje do pozycji.
najpierw używałem samych przerwań na najwyższym priorytecie jak ST przykazało, niestety od czasu do czasu zdarzało się że RTOS wyłączał wszystkie przerwania i przy odbiorze ostatniego bajtu zdążył się wygenerować już STOP i sprawdzenie if ((SR2Register & I2C_SR2_MSL) == I2C_SR2_MSL) było nieprawdą, co powodowało brak odczytu ostatniego bajtu. W distortos...
Super, że zadziałało. Do pełnego sukcesu brakuje mi: - źródła przerwań; - by pliki wynikowe SDCC były na prawdę relokowalne, bo nie są. Wówczas będzie można odtwarzać muzykę w czasie pracy innego programu. A samej muzyki jest pełno, bo nawet 20 000 kawałków zapisanej w formacie PT3. Nawet można samemu tworzyć swoją muzykę i odtwarzać na COBRA1. Tak...
Witam, Część błędów jest już naprawione...jednak dalej brakuje podłączenia przerwania od układu zegara (PCF 8583) do portu PD3...więcej nie zauważyłem...przetwornik D/A szyna SPI , LCD i sterownik silników krokowych chodzą jak należy. Pozdrawiam
Funkcja obsługi przerwania od UART'a jest jedna. Jej nazwę znajdziesz w tablicy wektorów przerwań. Przykładów obsługi UART'a z wykorzystaniem przerwań w sieci nie brakuje - szukaj. Pozdro.
Kurcze. Mi brakuje w tym ostatnim kodzie, nie ogarniam może, brakuje skonfigurowania samego zezwolenia na przerwania dla portu.
Na końcówce 6 lampy ECC85 brakuje napięcia. To jest anoda drugiej triody. Albo więc uszkodzona (przerwana) jest cewka L7 w głowicy UKF albo uszkodzony rezystor R5 33k (jeśli dobrze go odczytuję ze schematu bo jest słabo czytelny). Lub też przerwa między tym rezystorem a głowicą.
Tak dokładnie brakuje włączenia globalnego systemu przerwań oraz od konkretnego urządzenia i powinno śmigać.
Na pierwszy rzut oka brakuje skopiowania rejestru SREG w przerwaniach i przywrócenia go przed RETI.
Masz rację ;-)... brakuje tylko trzeciej flagi - przerwania od RX :-). Tej poszukam niebawem ;-)... robiw
Tak brakuje klamry zamykającej } przed obsługą przerwania
Przerwanie od WD TRZEBA włączać za każdym razem przed komendą SLEEP bo wejscie w przerwanie automatycznie kasuje bit który zezwala na przerwanie i następny okres WD po prostu bez tego zresetuje uC. Tak jest w trybie Interrupt+Reset, wtedy pierwsze przepełnienie odpala przerwanie a drugie i następne reset. W trybie Interrupt bit WDIE nie jest kasowany....
wlasnie ja musze zrobic wg. schematu wyzej. Czyli zliczac np. 1000 impulsow, robic przerwanie, liczyc czas tych 1000 umpulsow i obliczyc predkosc. W obsludze przerwania brakuje mi wlasnie tego liczeczenia czasu i obliczenia predkosci.
Rada praktyczna: ustaw preskaler tak, żeby podzielony zegar timera miał jakiś "okrągły" okres, np. 1, 10 lub 100 us, wtedy nie będziesz musiał pracowicie wyliczać wartości okresu timera, np. preskaler 7200 -> okres zegara 100 us; w celu uzyskania jednej sekundy ładujesz do ARR 10000-1. Twój problem, jak napisano wyżej, wynika z braku kasowania znacznika...
brakuje ogolnego zezwolenia na przerwanie SREG bit 7
Konfiguracja dobra. Brakuje jeszcze: pętli głównej, obsługi przerwania i globalnego włączenia przerwań. Load Timer ma inną składnię.
Zastanawiałem się na odebranie pixela i ignorowaniem kolejnych 17, bez przerwań ale tez brakuje kilku taktów.
A pozałączałeś wszystkie potrzebne pliki źródłowe i nagłówkowe? Nie za bardzo mam czas śledzić co tam się dzieje, ale na podstawie błędów wydaje mi się że brakuje Ci obsługi przerwań i wyjątków. Ty opierasz się na jakimś przykładowym projekcie, czy piszesz wszystko od początku sam? Trochę mało mamy informacji żeby Ci pomóc...
Tak przy okazji powiedzcie mi dlaczego ten kod nie działa mi na Attiny13A? W kodzie brakuje globalnego zezwolenia na przerwania. [syntax=c]sei();[/syntax]
Jeżeli to jest cały Twój program, to nie dziwne, że uC się zawiesza. Brakuje mu sekcji main. Co do konfiguracji timera, to skorzystaj z trybu CTC zamiast robić te dziwne operacje z TCNT0.
Brakuje mi ewidentnie tutaj jakiegokolwiek ISR'a Przyjrzałem się teraz dokładniej programowi i mi tutaj brakuje nawet globalnego zezwolenie na przerwania :D [syntax=c]sei();[/syntax]
Próbowałem z TIMER1_COMPA_vect i TIMSK |= (1<<OCIE1A) ; ale dalej nie działa brakuje mi pomysłów.
Jeżeli uzwojenie pierwotne jest całe to nie trzeba go odwijać. Tak przy okazji to podany symbol przez ciebie to tylko symbol karkasu a nie transformatora. Ten transformator po prostu nie ma podanego symbolu. Uzwojenie pierwotne jest całe w tym sensie że jest ciągłość. natomiast w powiększeniu widać że dużo już nie brakuje do przerwania ciągłości w...
W przerwaniu od RX prawdopodobnie brakuje Ci CAN_ClearITPendingBit(CAN1,CAN_IT_FMP0); Stąd CAN się blokuje...
1. ustawiam zmienną globalną: unsigned integer ms 2. Inkrementuję ją w przerwaniu timera co jedną milisekundę. 3. gdzieś, np w 'main' piszę: W punkcie 1 brakuje mi dodatkowego kwalifikatora. Jak on tam miał (?), v...
[syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #define D7 7 //dioda podłączone do pinów portu D unsigned int counter=10110; int main(void) { DDRD = (1 << D7); PORTD=(1 << D7); // tutaj sobie zaświecasz diodę, ale do pojedynczych bitów to używaj "|=" zamiast samego...
W jakimś komisie powinni Ci wymienic tasme z jakiegos uszkodzonego, a na pewno im takich nie brakuje
Ja jeszcze podpowiem bardziej, bo chyba dalej nie rozumiesz. Tak jak napisał tadzik. Tutaj: USART_RXC_vect .
Wejdź na NTFS0, przejdź bez zamykania do okna partycje (ikona trzech prostokątów) i pokaż screen. $Noname 03 będzie na niebiesko, zobczymy czego jej brakuje do działania.
To zobacz ten zawór z tyłu silnika na głowicy czy jest sprawny. Zmierz Jedi oporność. Podłącz zamiast niego żarówkę 5W i zobacz czy się zapali w czasie jazdy. Masz uszkodzony zawór bądź przerwany przewód od niego. Tam powinien być plus po stacyjce na pracującym silniku i masa podawana z ECU. Zobacz czy nie brakuje tam plusa.
while(1) w przerwaniu jest zbędne, natomiast brakuje inicjalizacji zmiennych sek1, sek2, min1, min2; Po uruchomieniu przerwania mają one wartość przypadkową. Zamiast [syntax=c]uint8_t sek1, sek2, min1, min2; [/syntax] daj [syntax=c]static uint8_t sek1, sek2, min1, min2;[/syntax] Zmienne będą tworzone tylko raz i inicjowane zerem.
A próbowałeś przełożyć kartę w inne pci ? czadem niektóre płyty mają przypisane przerwania do slotów i jeżeli jest ono zajęte przez inny komponent wymuszający IRQ to są kłopoty. Po przełożeniu ( wyszukaniu dobrego rozwiązania) rusza. Pozdr.J.
0. PORT_ISC_LEVEL - jak sama nazwa wskazuje, generuje przerwanie tak długo, jak długo jest stan niski. Skasowanie flagi przerwania nie eliminuje przyczyny przerwania. Gdybyś blokował przerwania INT0 dla portu, to miałbyś pojedyncze wyzwolenia, a tak to obserwujesz 2 (i pewnie też więcej) dla przytrzymanego przycisku. 1. Xmegi mają sprzętowe odwracanie...
Co znaczy "niepełny"? Brakuje końca czy początku?
Plik mmc.c nie należy do biblioteki. Owszem jest w samplach, ale jest pośrednikiem miedzy sprzętem i biblioteką. Powinno się go dostosować do drivera SPI. U mnie na tym samym SPI siedzi jeszcze LCD z SPLC501 i AT45DB161D więc logiczne jest, że PF też powinien komunikować się w ten sam sposób. W tych źródłach brakuje inicjalizacji i przerwania od timera,...
Samo działanie liczników i uarta sprzętowego nie obciąża procesora poza obsługą przerwań i konfiguracją. Jak brakuje portów i pojemności można zastosować ATMEGA 2560 w 100-pinowej obudowie.
Rzeczywiście, pokrętnie to napisałem. Chodzi mi o taką komunikację: UART6 (na którym jest HC06 odbiera dane ze świata) <--> STM32F7 (który odebrane dane kopiuje do USART1) <--> Terminal w PC (który wyświetla te dane) I analogicznie w drugą stronę jeśli wysyłam coś z komputera aby HC06 to nadał w świat. Chodzi mi o to, że w moim kodzie mam...
1. Poszukaj coś o słowie kluczowym volatile. Zastanów się gdzie w Twoim programie go brakuje. 2. Odmierzasz 0.1 s i w tym czasie liczysz impulsy. Ale zanim zaczniesz liczyć to wcześniej wykonujesz w przerwaniu obsługę LCD. Więc właściwie liczysz w czasie 0.1s - czas obsługi LCD. Jesteś pewien, że jest on stały? Uwzględniasz to w obliczeniach? Albert
Spróbuj takie coś [syntax=vbscript]Sub Makro() Dim target As Range Dim wrs1 As Integer Dim ostWrs As Long Dim i As Long Set target = ActiveCell wrs1 = target.End(xlUp).Row ostWrs = Cells(Rows.Count, target.Column).End(xlUp).Row If LCase(Cells(ostWrs, target.Column)) <> "stop" Then MsgBox "brakuje znacznika ""stop""", vbExclamation, "operacja przerwana"...
A tam czasem nie brakuje operatora przed znakiem przypisania? TCCR1B | = (1<<WGM12)|(1<<CS12)|(1<&...
Witam, brakuje zezwolenia na przerwanie: TIMSK |= (1<<OCIE1A); Osobiście albo bym przesuną funkcję przerwania nad funkcję main, albo ja zadeklarował: ISR(TIMER1_COMPA_vect); Pozdrawiam.
Poczytaj jeszcze o "wektorach przerwań", tego też brakuje w twoim kodzie. A cała reszta, to dobry materiał na artykuł pt. "jak nie należy pisać programów na '51". Pozdrowienia dla wykładowcy. Trudno się z Tobą nie zgodzić ;-)
Kompilator przyjal. A gdzie ci brakuje srednikow?
Połączone, dziękuję! PowerSave faktycznie również psuje BL0937 na innych platformach, takich jak Beken, ale w tym przypadku nawet PowerSave 1 go psuje. Z tego co wiem, Tuya również nie używa PowerSave na urządzeniach BL0937. To dlatego, że BL0937 działa poprzez zliczanie impulsów z przerwaniem GPIO... Ok, więc co dalej z LN882H? Hm, czy nie brakuje...
https://obrazki.elektroda.pl/1103023400_... Witam. Dziś chciałbym zaprezentować kolejny chiński scalak i jednocześnie kolejny układ podobny do nrf24l01+. Nie jest on jednak kompatybilny połączeniowo, programowo i radiowo z pierwowzorem. Zamiast full-duplex SPI producent zastosował 3 przewodowy interfejs half-duplex (select/zegar/dane)....
W całkowaniu najistotniejsza jest interpretacja geometryczna całki. W skrócie dla całki pojedynczej jest to pole powierzchni pod funkcją. Z metod numerycznych najprostszą jest metoda prostokątów. Aha, i całkowanie w metodach numerycznych zawsze odbywa się w jakimś przedziale. Co do w/w pozycji, to oczywiście nie zawiera ona gotowego rozwiązania na zadany...
kilka punktow tej samej masy na plytce(tak na skroty jakims kabelkiem) bo najpewniej brakuje jakiejs masy(przerwana,peknieta sciezka, odlutowany ekran)
Takie ''przyjemności'' jak czyszczenie to na samym początku.Najpierw mechaniczne czyli co się da wyskrobać i wydłubać później części metalowe w nitro a plastikowe - izopropanol.Coś tam zostało syfu na cewce od elektromagnesu ale to już zostanie na zawsze,jeszcze tylko brakuje żebym przy czyszczeniu przerwał ten cienki drucik:)
Straszna rzeźba.. :P Ten kompilator obsługuje incudowanie plików, można sobie zdefiniować co do czego podłączamy, dwa poziomy makr... To co mnie swędzi poza tym: - czemu używasz wartości liczbowych dla .org w tablicy wektorów ? Zajrzyj do m128def.inc, a najlepiej wygenerować sobie xmlconvert nagłówki do IAR C i stosować, idealnie pasują. - Gdzie masz...
Gorzej, że jak się jej nie wywoła z przerwania timera, to działanie całości zależy od czasu potrzebnego na reakcję na klawisz, bo brakuje eliminacji drgań. Ja bym to puszczał w przerwaniu timera co 10..20 ms i uznawał klawisz za wciśnięty po dwóch takich samych odczytach. To by było w miarę prosto i jakoś by działało.
Brakuje "|" [syntax=c]GICR |= _BV(INT0); GICR |= _BV(INT1);[/syntax]
Albo po prostu bug w programie, np. coś wskakuje w procedurę obsługującą przerwanie, przejrzyj kod tuż przed tą procedurą, może brakuje tam zakończenia innej procedury...
Witam ! Po przyjęciu obsługi przerwania, przerwania zostają automatycznie zablokowane (wyłączone) po to aby nie robić przerwania w przerwaniu. Ostatnimi rozkazami w procedurze obsługi przerwania powinno być : ....... Ei Reti Rozkazy informujące o powrocie z obsługi przerwania i włączenie przerwań. Być może brakuje tych rozkazów i dochodzi do przepełnienia...
Na początku podziękuję za dobry tutorial. A teraz mam prośbę. Próbowałem odpalić przykład z biblioteki STM32_USB-FS-Device_Lib_V3.3.0 (Virtual_COM_Port). Po pewnych bojach udaje mi się wszystko skompilować, natomiast po uruchomieniu program staje w nieskończonej pętli w funkcji static void __Default_Handler(void) z pliku vector.c. Czyli w tym pliku...
Zanim odpalę symulację, muszę powalczyć z AtmelStudio... nie wiedzieć czemu wyskakuje mi błąd: [syntax=c_loadrunner] Invoking: AVR/GNU C Compiler : 0.0.0 "D:\Program Files (x86)\Atmel\Atmel Studio 6.2\extensions\Atmel\AtmelToolchainProvi... -x c -funsigned-char -funsigned-bitfields -DNDEBUG -Os -ffunction-sections...
Dorzucę się do tematu leonowa32, który podjął się rozpoczęcia kursu Xmega. W wolnej chwili czasu naskrobałem funkcję do uruchomienia generatora kwarcowego i pętli PLL. Dla wartości 16 MHz można ustawić F_CPU 1MHz, 2MHz, 4MHz, 8MHz, 16MHz, 32MHz.Procedura nie wyłącza wewnętrznego generatora RC 2MHz, a do kompletu brakuje konfiguracji przerwania NMI...
twój wrapper nie robi nic poza wywołaniem konkretnej funkcji, a mianowicie irqADC - do dispatchera zagnieżdżonych przerwań jeszcze trochę brakuje, bo funkcja taka powinna pobierać adres odpowiedniego handlera z VIC, a ty masz ustawiony adres funkcji na sztywno. kod podany na stronce która przytoczyłem może i jest dla ARMów od Atmela, ale w zasadzie...
Jesli nagrywanie zostalo nagle przerwane to najprawdopodobniej brakuje naglowka zawierajacego indeks i inne pierdy. Zobacz czy tym malym programem dasz rade naprawic filmy http://www.videohelp.com/tools/recover-m... Jest to komenda CLI (czyli bez gui). DODANO Tu masz instrukcje: Step 1: Use any good previous file with the same resolution and...
Pokaż schemat to raz. Dwa: co to jest? Set Pinb.5 Set Pinb.6 Set Pinb.7 Tak po za tym chyba brakuje ci wartości początkowej timera0... Nie obraź się ale przy tym oscylatorze i preskalerze 64 otrzymasz przerwanie co najwyżej co 2ms... Na koniec zapamiętaj że program zawsze umieszcza się w znacznikach "code".
Co do kasowania przez wpisywanie jedynki - to jest jak najbardziej poprawne: http://www.elektroda.pl/rtvforum/viewtop... Nie analizowałem kodu zbyt dokładnie, ale jakkolwiek brakuje właśnie kasowania flagi przerwania TWINT. Dodatkowo (z tego co wyczytałem) trzeba flagę kasować po wprowadzeniu dodatkowych danych do transmisji....
Witam, to co wykorzystuję: -ATmega16 -4 przyciski PA -LCD - PB -Diody - PD dodatkowa sygnalizacja binarna Do tej pory uruchomiłem układ i dowolnie go modyfikowałem - bez przerwań. Teraz chciałbym wprowadzić wielopoziomowe menu z którego będzie można (w dowolnej chwili) zmienić wykonywaną funkcję czy modyfikować zmienne - czyli bez przerwań się nie obejdzie....
Witam. Kolego magaj81 . Według mnie brakuje w układzie bardzo istotnego elementu, diody połączonej równolegle do cewki przekaźnika w kierunku zaporowym tj. anodą do masy i katodą do nóżki 3 układu NE555. Przy każdym przerwaniu zasilania cewki przekaźnika indukuje się w niej impuls o znacznej amplitudzie, co przy braku wspomnianej diody może zniszczyć...
Jakie Bez tego mechanizmu ciężko ogarnąć takie tematy jak zagnieżdżanie przerwań czy zmiana kontekstu po przerwaniu. Idea jest taka, że w twoim przypadku SysTick musi mieć wysoki priorytet (najwyższy w "systemie", w znaczeniu w RTOSie), tak aby tick był regularny i się nie gubił. Przełączanie kontekstu na najwyższym priorytecie zaś jest średnio zabawne,...
Włączyłeś przerwania, jednak nigdzie nie masz procedury obsługi dla RXCIE i TXCIE. Wywołanie przerwania powoduje skok programu pod adres zdefiniowany w tablicy wektorów przerwań, czyli w Twoim przypadku reset procka. Druga sprawa to błąd w tej funkcji. Ona nigdy się nie zakończy, gdyż brakuje inkrementacji wskaźnika s w pętli. Ale zakładam, że to błąd...
Kod jest za krótki brakuje wywołania timera co 4 ms na tym polega cala idea multipleksowania. Przerwanie musi wywoływać procedurę wyświetlanie. Brakuje deklaracji zmiennych.
Witam, Schemat układu jest niekompletny, brakuje kwarcu taktującego. Z programu wywnioskowałem, że jest to Xtal 12MHz. Długość trwania procedury obsługi przerwania od Timer0 wraz z preambułą nie musi być dokładnie równa 10 cyklom maszynowym (#3CBA). To wniesie pewien błąd pomiarowy odmierzania czasu, przeciętnie około 10 mikrosekund. I na koniec sprawa...
"Początkowo program działa poprawnie" to nie dziwne, że na początku działa ci poprawnie a potem leci w przysłowiowe "maliny" nie potrafisz kolego jeszcze dobrze się posługiwać przerwaniami i samą konstrukcją programu - masz tak namieszane że szok w zasadzie czytając sam program to nie wiadomo dokładnie co chciałeś uzyskać pierwsza wskazówka - najpierw...
Rozwiąż problem od drugiej strony. Na pewno są jakieś przykładowe programy z użyciem przerwań. Spróbuj uruchomić taki, a potem zobacz czego brakuje w Twoim. Albert
Ogólnie na ten procesor zawsze patrzę z lekkim sentymentem - od tego zaczynałem swoją przygodę z mikrokontrolerami. ... Ja też lubię AT89C2051. To najfajniejszy (oczywiście subiektywnie) mikrokontroler z jakim pracowałem w życiu. Brakuje mi w nim tylko przerwania od komparatora i trzeciego Timera - choćby 8-bitów. Sam zaczynałem z mikrokontrolerami...
Zmień: dim Objetosc_lcd as string*10- a potem jakie x-sprawdź. Bascom jest wolny i gruby- jak wół. Można na nim w pewnym stopniu polegać Ale opanowanie rasowego konia jakim jest C- jest trudniejsze- ma sam na wiele spraw własne zdanie. Brakuje oscyloskopu. Chyba jest-widać sonde. P.S. W głównej pętli wywołujesz menu w którym "siedzisz" przez waitms...
Brakuje impulsów synchronizacji pionowej wychodząne z MH2030 US TDA 2593 nóżka 8 na pin 8 i wchodzą na nóżkę 8 us TDA 1170. sprawdćto połączenie czy nie jest przerwane lub czy nie jest przywarte do masy. Jeżeli będzie OK to uszkodzony będzie US TDA 2593 najlepiej byłoby zobaczyć oscyloskopem czy są te impulsy i czy sięgdzieśnie gubią
Brakuje tam jakiegoś elementu, czy tylko ścieżkę przerwało? Na 90% tylko przerwało ścieżkę
brakuje unitra brakuje pliku kalkulator przerwań
telewizor buczy włączeniu opalarka grzeje pralka połowa załadunek
instalacja wyspowa instalacje wyspowe
Woda z dyszy A12 w DeLonghi EC685 podczas parzenia kawy Gdzie naprawić procesor gitarowy Boss GT-100?