Sprawdź ten element na zakresie testera diod ( nie omomierza). Jeżeli na dwa kierunki pokaże przerwę (wskaźnik przepełnienia), to jest to diak- element sterujący pracą, np. tyrystora.
Właśnie z tym się liczę dlatego myślę o procesorze wyposażonym w wewnętrzną pamięć EEPROM bo nie chce mi się rozbudowywać całego systemu o ikwadrata. Jeśli chodzi o wyświetlacz LED to myślałem o 3 wskaźnikach sterowanych multipleksowo ale łatwiej chyba będzie zastosowanie 1 podwójnego i 1 wskaźnika przepełnienia (+/-1) bo mój poldek raczej nie rozwinie...
Nie rób zmiennych ze stałych - first i last są zbędne. Nie deklaruj tablic wewnątrz funkcji - spowalnia to wykonanie i grozi przepełnieniem stosu. Nie potrzebujest wskaźników na bufory 15- elementowe - przedeklaruj je jako wskaźniki na char.
Nie, to jest przepływomierz (MAF). Tamten czujnik działał tak jak wskaźnik przepełnionego worka w odkurzaczu (podciśnienie tworzące się w dolocie przy zatkanym filtrze zasysało tłok, który zwierał styki i zapalał kontrolkę)
Tranzystor okazał się dobry. Problemem był elektrolit ( w innej gałęzi zasilania,dlatego gotował się momentalnie tranzystor ) . Po wymianie układ niby ruszył. BC313 zastąpiłem "na krótko" 2N5195 by tylko jakoś ruszył zasilacz. Brakowało dwóch napięć pochodzących z tego fragmentu zasilacza. Są oznaki działania ale kuleje strasznie. Błąd dochodzi do niecałego...
Odwołuj się do struktury bezpośrednio, bez tych wskaźników. Nie masz gdzieś po prostu przepełnienia stosu albo innego kodu który sobie coś robi przy pomocy wskaźników i po prostu nadpisuje Ci akurat tą zmienną?
Ze specyfikacji: Flags Unless otherwise stated in the previous descriptions, the flags of PSW are affected as follows: – CY is set if the operation causes a carry to or a borrow from the resulting high-order bit; otherwise CY is cleared. – AC is set if the operation results in a carry from the low-order four bits of the result (during...
RISC nie poznaje się po długości listy instrukcji, (...) Ogólnie RISC to jest procesor, który nie bardzo nadaje się do programowania przez człowieka w asemblerze - i pod tym względem ARM jest bardzo RISC. ;) Z RISC to poznałem assembler PPC i ColdFire (kiedy to było?). Zasadniczo RISC ma niewiele prostych rozkazów (ale dużo trybów adresowania). To...
Idea polega na tym, że wskaźniki krążą po buforze w tym samym kierunku, tak jakby koniec bufora połączony był z początkiem, stąd nazwa "bufor cykliczny". Po dojściu do końca bufora wskaźnik przeskakuje na jego początek. Pierwszy zawsze jest wskaźnik zapisu, za nim podąża wskaźnik odczytu. Jeżeli oba wskazują na to samo miejsce to znaczy że bufor jest...
Wszystko zależy od sposobu napisania programu obsługi przerwań i wywołań pod programów. Jeśli wykonasz to prawidłowo zmienne i adresy powrotu zostaną pobrane ze stosu. jeśli jednak pozostaną stos rośnie aż przepełni ram. Dobrą praktyką jest symulowanie programu i zwracanie uwagi na wskaźnik stosu który powinien po zakończeniu obsługi pod programów i...
źle liczysz. Co 8us będzie zwiększany licznik timera, a do przepełnienia potrzeba ich 256. PS. do ładowania wskaźnika stosu lepiej używać wartości low(RAMEND)
To nie tak. Masz tablicę 10 elementową, jej adres siedzi w DMA i jest włączona inkrementacja wskaźnika tej tablicy. Wyzwala się transfer (np przepełnieniem licznika, albo czymkolwiek innym). DMA tak długo transferuje dane, inkrementując wskaźnik i dekrementując licznik, aż licznik nie zjedzie do zera. Transfer się kończy i czeka na kolejny trigger....
Chodzę do szkoły elektronicznej i na zadanie mam zrobić monitor zawartości akumulatora procesora z80 na diodach LED. Szukam pomocy. Dość nietypowe zadanie. Tak nietypowe że jak twój durny nauczyciel tu zaglada to możesz mieć z nim problemy. Z tematu wynika trochę co innego niż to co napisałeć. Monitor akumulatora a wskażnik przepełnienia akumulatora...
Czy ktoś potrafiłby zaprojektować (narysować schemat elektryczny) cyfrowo sterowane źródło napięcia odniesienia. układ musi posiadać cyfrowy wskaźnik kanału (wyświetlacz VFD). Układ sterowany jest z zadajnika ręcznego. Zadajnik posiada zabezpieczenie przed przepełnieniem. Skok napięcia 0,5V. Projekt wykonać na układach serii UCY74XX AI: Jaki jest kontekst...
Ruszenie tego ukladu musisz rozbić na dwie części. W pierwszej kolejności odpal funkcę częstotliwosciomierza. Jeżeli otrzymasz stabilne wskazania nawet używając jako wzorca tego co wychodzi z multimetru cyfrowego to będziesz wiedzał, że masz sprawny układ licznika i bramkowanie. W przypadku problemów z licznikiem i bramkowaniem będzie potrzebny, trzeba...
To o ile rozumiem zapis przegrzanie ~5 K? . Można deelikatnie nawet podwyższyć, bo propan minimalnie reaguje spadkiem sprawności na duże przegrzanie! (A to co mierzy to ma błąd, więc może lepiej naprawdę "o włos" ale podwyższyć) {TZR też ma błąd i MUSI mieć błąd, bo to jest typu "P" regulator} A jak jest z temperaturą końca sprężania (mierzymy tuż na...
Poza stosem w SRAMie masz jeszcze przynajmniej: - stertę - dynamiczna alokacja (malloc, new) - sekcję data - wszelkie globalne i statyczne zmienne inicjowane jakąś wartością - sekcję bss - jw. ale zerowane przy starcie programu poza tym możesz sobie tworzyć własne sekcje, latać wskaźnikiem po pamięci i cokolwiek Ci przyjdzie do głowy. Alokowanie dużej...
Dragon to jedno, warto zainwestować. Wykrywanie przepełnienia pamięci to trudny problem. Generalnie, jeśli nie korzystasz z alokacji dynamicznej, to interesuje się wskaźnik stosu (SP). Jeśli schodzi za nisko, to świadczy to o braku pamięci.
http://obrazki.elektroda.net/42_12648689... Na temat projektu avr-cdc z [url=http://www.recursion.jp/avrcdc/]htt... napisano już wiele i jeszcze więcej - nie będę się rozpisywał o samej idei - można zajrzeć chociażby do wątku [url=http://www.elektroda.pl/rtvforum/to... prosta niezawodna przejściówka...
Po wywołaniu WAIT_KEY kod klawisza masz w akumulatorze i zpisujesz wszystkie "próby" na stosie do czasu aż zakończysz 0x0A. Potem zdejmujesz tylko te dwa ostatnie znaki (0x0A) i ten kod. A wszystkie pozostałe nie są ze stosu zdejmowane. Masz wtedy niezrównoważony stos. Musisz mieć tyle samo rozkazów POP ile PUSH, bo inaczej Ci się stos przepełni dość...
bufor FIFO to generalnie pewien obszar pamięci RAM, do którego uzyskujemy dostęp za pomocą dwóch wskaźników. Pierwszy z nich (nazwijmy go WRptr) wskazuje nam miejsce zapisu, a drugi (RDptr) miejsce odczytu. Inicjując bufor ustwaiamy WRptr=RDptr=adres_bufora. Po zapisie lub odczycie zwiększamy odpowiedni wskaźnik o jeden. Zgodnie z tymi założeniami,...
Po odwróceniu polaryzacji na wejściu na wyświetlaczu pokazuje sie symbol przepełnienia zakresu pomiarowego Może dzielnik źle policzyłeś i przekraczasz zakres? ...układ zaczyna się nagrzewać. Udało mi sie nawet upalić jeden przetwornik ;/. Jeżeli układ mocno się grzeje to trzeba ograniczyć jasność świecenia wskaźników LED. Nie ma potrzeby go smażyć...
Co do poprzedniego kodu, rozumiem ze wystąpił błąd w "uchwycie dll-ki oraz wskaźnikach do funkcji " ??, czy w inicjacji zmiennej ?? Problem leżał w braku _stdcall , prawdopodobnie, kilkakrotne wywołanie tej procedury powodowało jakieś przepełnienie lub coś podobnego. Niech się o tym wypowie jakiś znawca C++. tylko ze: - wydaje mi się ze gdyby wystąpił...
Te bity są w rejestrze PSW adresowanym bitowo, więc najprościej ustawić je tak : ;) setb PSW.OV setb PSW.P setb PSW.AC "PSW – rejestr stanu programu (Program Status Word), jest to zbiór różnych flag (wskaźników): PSW.0=P – parzystość, flaga jest ustawiana gdy wynikiem operacji jest liczba parzysta, PSW.1=F1 – począwszy od 8052, flaga...
Charakterystyczną właściwością bufora cyklicznego (kolejki FIFO) jest to, że wskaźniki początku i końca (odczytu i zapełniania) przemieszczają się niezależnie - każdy w swoim tempie. Stąd w Twoim programie indeksy powinny być niezależnymi zmiennymi globalnymi/statycznymi. Przypisanie liczniku=usartbufferlicznik zakłóciłoby normalny tryb pracy bufora...
Witam ! wszystkich kolegów. Dziękuję za zainteresowanie moim problemem i porady. Kopiarka naprawiona. Zabralem urządzenie na warsztat, ksero było totalnie zasypane tonerem, zbiornik na zużyty toner przepełniony ( lecz świecił wskaźnik braku tonera, a nie przepełnienia śmietnika). Myślę że znalazłem usterkę - po jej usunięciu ksero działa bez zarzutu....
co do buforu to ja sie zbytnio niemęczyłem w pascalu.. stworzyłem sobie tablice, oraz 2 zmienne: jedna wskazująca na początek bloku (miejsce zżucania danych), oraz jedna wskazująca na koniec bloku (wskazuje kolejny odczytywany bajt).. podczas odczytu bądź zapisu następuje inkrementacja wskaźnika, jeśli wskaźnik wskazuje na bajt poza buforem (bufor 32...
dobrze rozumiesz, ilość odczytywanych batów nie jest istotna, dobrze zrobić dużo większy bufor. musisz tylko zadbać o 4 rzeczy o przepełnienie bufora, brak odczytu gdy bufor pusty, oraz operacje na obu wskaźnikach gdy osiągniesz max i minimum tablicy
Głowy nie dam, ale GOSUB odkłada na stos wskaźnik do miejsca skoku oraz chyba rejestry. Robienie wielu zagnieżdżonych skoków spowoduje w końcu przepełnienie stosu. Robienie ich równolegle nie szkodzi. Jedynie, na czym utracisz co do pamięci, to instrukcja skoku i powrotu - kod wykonywalny zajmie po prostu więcej.
Brutus_gsm : Radził bym Ci przeprojektować trochę ten kod: ustawianie flagi I (sei()) w przerwaniu jest największym błędem (chyba, że wiesz co robisz oraz to kontrolujesz). Przed wyjściem z funkcji przerwania ustawiasz flagę I (jeśli przyjdą kolejne przerwania, pojawią się kolejne wywołania i przepełni się stos - błąd), po czym usypiasz procesor (zakładając...
Schematu nie widzę. Napisałem Ci już jakie tranzystory możesz tam zapakować. Kosztują <0,50PLN/sztukę w TME, więc tanio. W dokumentacji do wyświetlaczy sprawdź maksymalny prąd i na początek ogranicz prąd maksymalny do tej wartości (prawdopodobnie 20-60mA). Program do napisania od nowa. 1. Po co zewnętrzny prescaler, jeżeli licznik TIM0 ma wbudowany...
Najtaniej i na "gotowo" kup czujnik poziomu paliwa "samochodowy" i wskaźnik do niego. Na dowolnym szrocie samochodowym jest tego do wyboru do koloru. Wybierz model dość popularny by mieć w razie czego łatwość zakupu i wymiany.
Ja kiedyś na AVRku zrobiłem bufor kołowy zapis do końca bufora a potem od zera. Jeden wskaźnik na zapis do bufora (wyzwalanie pomiaru z timera), jeden wskaźnik na odczyt (w wolnej chwili procesora) zapis inkrementował jedną zmienną a odczyt wysłanie RSem dekrementował (jak zmienna za wysoko urosła to przepełnienie bufora (usart się nie wyrabiał ) Ograniczenie...
Rozjaśnia się, czyli po wywołaniu przerwania powinienem zacząć kod od: IRQ_INT1: in R16, SREG push R16 a skończyć: pop R16 out SREG, R16 RETI Czyli powiedz mi gdzie po komendzie RETI wyląduje wskaźnik programu ? Wróci do adresu zaraz za rjmp IRQ_INT1 ?? To by było nieporządane, więc pewnie coś źle rozumiem Inna sprawa, że wywoływane u mine w pętli nic...
Stos "czyści" się w pewnym sensie automatycznie, po wykonaniu funkcji ze stosu zdejmowane są adres powrotny i wartości kluczowych rejestrów (co uwalnia zajętą przez funkcję przestrzeń na stosie). Nie wiem na jak procesor piszesz program, ale zwykle do stosu jest dostęp, tzn. można przesunąć ręcznie wskaźnik góry stosu, ale obawiam się, że może to się...
- Dzielnik napięcia: pozwala dopasować lub wybrać zakres pomiarowy - Filtr: jeżeli dolnoprzepustowy, to eliminuje np. zakłócenia od sieci energetycznej, inny - określa pasmo pomiarowe woltomierza - Wzmaczniacz: najczęściej napięciowy, precyzyjny - dopasowuje/ /normalizuje sygnał pomiarowy do potrzeb przetwornika analogowo cyfrowego - A/C: przetwornik...
Witajcie Bardzo często dopinam szambo do systemu z nadajnikiem lub do wrl`ki. w pierwszym przypadku ( o ile nadajnik nie pracuje jako translacja a tylko sztywnodrutowo na wejścia) wykorzystuję wyjście niskoodpadowe łączę centralę i nadajnik masami. W przypadku pracy z translacją lub centrali wrl sprawa jest jeszcze prostsza. A co do sensu podpinania...
Mnie się też nie przełącza automatycznie, tylko "krzyczy" pikając że gaz się kończy, czy taki czujnik można gdzieś oprócz serwisów Czakram dokupić i samemu zamontować, ile kosztuje?. Drugi mój problem z tą instalacją jest taki że wskaźniki poziomu gazu pokazują co chcą, raz prawdziwy stan, raz wszystkie migają (tak jakby sygnalizowały przepełnienie...
Do obsługi Timera1 są 4 wektory i nie wiem, które aktywować, co wpisać w procedurze odwołującej się, czy w ogóle jest taka potrzebna. Czy wystarczy tylko uruchomić te przerwanie i sygnał będzie generowany automatycznie ? Tabelka jest prosta: TIMER1 CAPT Timer/Counter1 Capture Event Zdarzenie z przechwycenia licznika (zwykle przez zmianę na pinie...
A w czym Ci przeszkadzają struktury? Oczywiście, że można zrobić bez. Tworzysz tablicę, dwa wskaźniki na początek i koniec i już. Oczywiście do tego jeszcze funkcje obsługujące. No ale wszystko byłoby bardziej eleganckie gdybyś obudował to strukturą. Masz tu przykładzik fifo, ale bez kontroli przepełnienia: #define BUFFER_MASK0xFF struct FIFO { char...
czyść bufor i przerwania odblokować i jazda dalej z danymi i tak w pętli. Można jeszcze by zrobić że jak nic nie przychodzi po jakimś czasie to bufor się opróżnia, żeby nie było tak że całe ramki trzeba za każdym razem wysyłać. Nie... niepotrzebne marnowanie cykli - a przecież o prędkość nam tu chodzi, nie? :) Bufor cykliczny . Działa to tak: - definiujesz...
No to podsumujmy: - uart_getc() zwraca znak z bufora, dekrementuje licznik znaków i przesuwa wskaźnik w buforze nawet wtedy, gdy bufor jest pusty. - W przypadku przepełnienia bufora nowe znaki będą przyjmowane, a licznik będzie inkrementowany. Przy buforze na 4 bajty po nadaniu ciągu "123456" odbiorca odbierze "345634". - Od czasu do czasu nastąpi zgubienie...
Natomiast z włączonym EEPROMem, argument funkcji gdzieś buja i zwraca dziwne wartości. No ale przecież wskaźnik jest prawidłowy - też wskazuje na flash... Może zamiast szukać problemu tutaj (zakładając, że masz pewność że wskaźnik jest zły) zastanów się czemu taki jest - szukaj problemu tam gdzie funkcja jest wywoływana. Szkoda, że nie mogę podglądnąć...
Dla mnie byka masz w przerwaniu timer0=1023 ? Ten zegar jest 8bitowy więc brana jest pod uwagę wartość młodszego bajtu w tym przypadku 255, Przepełnienie zegara następuje po jednym impulsie taktującym timer0 czyli po 1024 impulsach zegarowych (prescaler) nie masz tam 5s tylko $crystal/1024 . W przerwaniach unikał bym wywołania call i if . Ustaw flagę...
:arrow: RaInMan Wygląda to na przepełnienie stosu (shkstk = CHecK STacK), prawdopodobnie jako argument funkcji podajesz jakąś dużą tablicę, jeżeli tak, to zamiast tablicy daj wskaźnik, powinno działać. :arrow: And! A może Ty wrzucisz źródło? Może zrobiłeś jakiś głupi błąd, którego za bardzo nie widać? Kiedyś robiłem sieć neuronową, ciągle się wieszała,...
Jeśli można, podepnę się do tego wątku, ponieważ mam podobny problem. Sprawa tyczy się symulacji programu w AVRStudio. Mam bardzo podobny program jak w pierwszym poście w tym temacie. Za każdym razem podczas wywołania funkcji w oknie informacyjnym wyskakuje informacja o przepełnieniu stosu(??)(stack overloaded). Program, co prawda skacze do funkcji,...
Odkryłem jedną wadę - można łatwo przepełnić bufor klawiatury :) Pomóc powinna taka zmiana procedury (choć w ten sposób będzie można też zatrzymać wszystko nie puszczając klawisza - pradopodobnie ;) ):[syntax=pascal]procedure SprawdzZmienKierunek(var dir: TDirection); begin while Keypressed do case readkey of 'a': if dir <> dirRight then dir :=...
Czy jest potrzebna jakaś kontrola (synchronizacja) czasu przełączania się Tx/Rx poszczególnych par urządzeń? Jeżeli protokół komunikacji jest dobrze "napisany" i zaimplementowany to nie trzeba nic synchronizować, jeżeli tak nie będzie, to będą problemy (np: odpowiedź od slave'a może nadejść za późno i wtedy jak master w tym czasie "zajmie" magistralę...
Hej. Nie wiem czy Prześledziłeś poprzednie kody. W tej chwili stanęło na tym kodzie. Dim Licznik As Integer Dim Wart As Single Dim Flaga As Bit Dim A As Bit , B As Bit , C As Bit , D As Bit Led Alias Portb.0 'alias dla wyjścia Portb.0 Licznik = 0 'wyzerowanie zmiennej licznikowej Portc = 0 'wyłącz wyjścia Flaga = 0 Wart = 0 '***********************...
Największy problem jest wtedy, gdy jeden task maże po stosie drugiego, a ten drugi wtedy wyczynia cuda w programie. Im więcej stosów, tym większe wyzwanie w szukaniu błędu. Jeśli sytuacja jest związana z tym, że w jednym z wątków przepełnił się stos, to w większości RTOSów są zaimplementowane różne zabezpieczenia przeciwko czemuś takiemu, które z całkiem...
Najtańsza drukarka Canona nadająca się pod CISS - 275-300zł (nowa MG5150 lub iP4850). CISS nie zmienia głowicy. Ona nadal jest oryginalna. W urządzeniu zostają umieszczone inne pojemniki na tusz współpracujące z wężykami prowadzącymi do zewnętrznych zbiorników. Ostatnim elementem jest zestaw czipów samoresetujacych - kiedy wskaźnik atramentu spadnie...
Twoich plików nie używałem. Szczerze mówiąc jestem raczej początkujący jeśli chodzi o mikrokontrolery. Do tej pory wystarczało mi: -konfiguracja mC i peryferiów i napisanie jakiegoś algorytmu obliczeniowego. Zarządzanie pamięcią nawet się nie tykałem (stosy, sterty itp). Jeśli chodzi o problem to zwiększyłem rozmiar stosu dwa razy i wygląda na to, że...
ten rysunek dużo wyjaśnia, wspierając się wiki przeczytałem że obszar .data i .bss jest jest zarezerwowany dla właśnie zmiennych globalnych i zmiennych statycznych. Czyli w obszarze heap powstają zmienne wywołane np.funkcją malloc:) To jeszcze jedno pytanie, wpierw prosty kod: void funkcja (void) { int *a; a=malloc(sizeof(int)); } ponieważ wskaźnik...
Tesz mi przyszedł taki pomysł... na Avr: zrobić w pamięci tablice 8x16.. 8 procesów, na każdy po 16 bajtów... w tych bajtah by były przechowywane: wskaźnik następnej instrukcji (PC), rejestry r16-r21, r26-31,r0 i r1... do całości wykorzystać jeden licznik... do bajtów danych następnej instrukcji (PC) wpisać adres w którym znajduje sie program.. (jeśli...
Absolutnie nie mam pojęcia co chcesz zrobić. Program który wstawiłeś jest kiepski: 1) Nie baw się w takie skomplikowane ładowanie danych ldi r17, 1<<CS02 out TCCR0, r17 in r16, TIMSK //tryb normalny sbr r16, 1<<TOIE0 out TIMSK, r16 //przerwanie od przepełnienia Tylko zrób to na brutala, bo tutaj niczym to nie grozi: ldi r16, (1<<TOIE0)...
Kasowanie bitu jest operacją nieniszczącą Teraz to jestem troche skołowany. Na stronie 224 w swojej książce (wydanie 2) piszesz: "W przeciwieństwie do kasowania, proces programowania bitu (zmiany stanu z 1 na 0) nie jest dla pamięci destrukcyjny, możemy go więc wykonać dowolną liczbę razy." Dlaczego uważasz, że niweczy? Istotą wear levelingu jest rozłożenie...
Problemów może być sporo ja bym jednak zaczął od zmodyfikowania kodu odpowiedzialnego za komunikację zarówno po stronie PC jak i AVR. Wiem, że to brzmi mało pocieszająco ale gwarantuję, że efekt końcowy będzie zadowalający. Po pierwsze zrób jakąś strukturę ramki, która ma "wyraźny" początek i koniec. Po to mamy do dyspozycji w tabeli ASCII znaki receive_text()...
#define BUFFER 8192 WaitForSingleObject(hEvent,INFINITE&... if(FT_GetStatus(DevHandle,&bytes... { if(bytesRead >= BUFFER) { FT_Read(DevHandle,USB_In_Buff,BUFFER... memcpy(AnalogData,USB_In_Buff,BUFFER... if(capture) Azapis->Write(AnalogData,BUFFER...
Ja w tej materii zdaję się na akumulator, bo on we właściwym czasie zasygnalizuje, że ma dość. A przy właściwie dobranym napięciu zasilacza mam pewność, że nie dojdzie do jego przepełnienia, którego objawem jest właśnie elektroliza wody z elektrolitu. Zacznij myśleć logicznie kolego. Napięcie w sieci wzrośnie lub zmaleje i wszystkie twoje kombinacje...
Stos sam się nie przesunie - w winavr początek stosu ustalany jest na ostatnią komórkę pamięci SRAM (wierzchołek stosu idzie ku niższym adresom) - w najgorszym przypadku przepełnienie stosu nadpisze dane ze zmiennych. Co do umieszczania tablicy pod konkretnym adresem - Jdsoul nie bądź taki do przodu bo cię z tyłu zabraknie ([C jest chyba po to żeby...
Bo zamieniłeś tarę na pralkę automatyczną :idea: Ten model cieszył się chyba bardzo dobrą opinią, prawda? Żeby nie ciągła awaryjność (bo co chwilę coś padało), to pewnie bym ją zostawił, a że niestety w sprawach serwisowania jestem totalny lamer, to zawsze był to problem. Najgorzej ostatnio jak jakiś wężyk od wskaźnika poziomu wody się wysunął. Niby...
(at)ElektrodaBot Jak konwertować kod 64-bit na 32-bit? /** (at)file Copyright (c) 2025, Gelip Copyright (c) 2024, Andri Kurniawan Copyright (c) 2020, Seungjoo Kim Copyright (c) 2016, Dawid... Bezpośrednia odpowiedź „Konwersja” istniejącego binarnego modułu UEFI X64 na IA32 nie jest możliwa - trzeba ponownie skompilować kod źródłowy z ustawieniem architektury...
Napisałem więcej punktów więc może pomieszałem. W tej strukturze będą znajdować się bufory w formie tablicy 100 bajtów, oraz spora ilość flag pomiędzy wątkiem głównym a przerwaniami i różne zmienne pomocnicze. Taki sposób jak zaprezentowałem ma pewną zaletę: łatwo debagować, bo w dowolnym momencie mogę podejrzeć całą strukturę, wszystkie bufory itd....
Przypisanie wskaźników to co innego niż kopiowanie tablic. Ewentualnie mógłbyś napisać: memmove(tablica1, tablica1+1, 2*sizeof(int)); i wtedy zamiast tablica1 = {1, 2, 3} miałbyś tablica1 = {2, 3, 3}. Tak czy inaczej na Twoim miejscu skupiłbym się raczej na zastosowaniu prawidłowej struktury danych, np: struct stos { unsigned rozmiar;...
Nie wiem jakiej używasz "strategii" pomiaru ale na filmie widzę, że odczyt masz niezbyt stabilny. Sam przymierzam się do budowy takiego licznika i wymyśliłem taki algorytm: LICZNIK - sprzętowy licznik impulsów z lampy w uK TIMER - sprzętowy timer w uK wywołujący przerwanie co 5s (lub w/g RKSB-104 co 7s) Pseudokod: [syntax=c]byte Tab[8] = {0, 0, 0, 0,...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
Zauważ, że wielokrotne wywołanie funkcji strcat(txframe,<cośtam>) Kontroluję długość doklejanych elementów. Wydaje mi się, że w tym przypadku nie mogę sobie pozwolić na użycie strlncat gdyż skopiuje ona nie to co potrzebuję, np UTC ma 18 znaków ale nie potrzebne mi ostatnie cyfry więc kopiuję tylko 14 znaków. Przerobiłem trochę tą funkcję (nie...
Ustawiłem na zakres prąd zmienny 200 V po czym licznik się zeruje Nie zeruje, ale pokazuje przepełnienie licznika. Ustaw na zakres 600 V AC i pokaże właściwą wartość. Zrobiłem tak jak piszesz z tym że następny zakres to 750. Faktycznie pokazał 233 V. Po ponownym pomiarze znów zaczął wariować czyli nie dojechał do 200V i wyzerował albo pokazuje 1 itp....Sprawdziłem...
Masz ustawione już "DCMI_CaptureMode_SnapShot" i DCMI_SynchroMode_Hardware Proces wczytywania zatrzyma się więc automatycznie po zakończeniu ramki. Zwiększ testowo ilość danych dla DMA. Złap obrazek i odczytaj wskaźnik zapisu. Możesz też zapisać pamięć np. wartościami 0x55 i zobaczyć jaką ich część zmienił uP. Zmieniłem rozmiar bufora- dodałem dodatkowych...
Tylko, że podmieniane wartości nie są stałe. O to chodzi, że z dostępnych komunikatów w tablicy chcę odtworzyć dwa dowolne, których zmienne są ustalane podczas pracy programu. A tobie chodzi o to, że Dlugosc_drugiego_komunikatu jest stała, tak? Dlatego tak kombinuję, bo chcę skrócić maksymalnie funkcję z przerwania, żeby się nie przepełniła. ISR(TIMER1_COMPA_vect)...
Efekt dźwiękowy już poprawny dla MSP430F2274. Drobny błąd myślowy, ale brzemienny w skutkach: unsigned char sample; unsigned int cnt_smp; unsigned int volatile buf_pointer = 0; // wskaźnik w buforze unsigned char volatile play_sample = 1; // stan odgrywania // ----------------------------------------... // konfiguracja systemu tuż po restarcie...
Jeżeli to jest cały kod programu to wszystko jasne :) : po uruchomieniu program sobie działa, dochodzi do kodu procedurki i na końcu napotyka END SUB - czyli RET w asm - więc procesorek myśli (prawidłowo :-) ), że musi powrócić z podprogramu - czyli odczytać zapisany adres powrotu na stosie, ale ponieważ nie było wywołania podprogramu, to na stosie...
Witam, Muszę przygotować na zajęcia projekt stopera z opcją zapamiętywania między czasów. Przygotowując się do projektu przerobiłem poszczególne tematy z książki Gałków. Jednak nadal nie wiele sam potrafię zrobić. Znalazłem przykład stopera, który nie posiada opcji zapamiętywania między czasów. Od 2 dni analizuje kod, ale nadal cały czas gubię się w...
Wg rad użytkownika BlueDraco zmieniłem przerwanie od ADC na przerwanie od przepełnienia Timer0. Częstotliwość pomiaru wynosi 1Hz (8MHz/256/250=125 przerwań/takt). Jednak zmiana ta pogorszyła działanie programu. Obecnie gdy temperatura rośnie na jednym czujniku to na wyświetlaczu widać wzrost na dwóch (jakby obie temperatury rosły w podobnym tempie +-1stC)....
Zróbmy program w którym wyświetlana liczba na LCD (jako HEX) będzie inkrementowana co 1s. Do tego potrzebujemy Timer. Wykorzystamy T0 ze zgłaszaniem przerwania przy przepełnieniu. [syntax=asm];Ustawienia Timera 0 TRYB_T0 EQU 1 C_T_T0 EQU 0 ;zliczanie impulsów wewnętrznych fclk/12 GATE_T0 EQU 0 ;zliczanie, gdy TR0=1 TL0_T0 EQU 0AFh ;młodsza część Timera...
Szanowni koledzy, Po zaprogramowaniu Atmegi udało się przetestować działanie pierwszego układu. A jest nim ... Zegar. :) Program starałem się napisać optymalnie i działa optymalnie. Zmierzyłem niedokładność pomiaru czasu. Na 15 min spóźnia się o niecałą 1 sekundę. Daje to nam dokładność równą około 0,11%. Jestem przekonany że wynika ona z niedokładności...
pisałem w CodeVisonAVR i bascomie i w zasadzie nie widzę różnicy jeżeli chodzi o zajetość programu i szybkość. Wszystko zależy od programisty jak pokieruje swój program i podejdzie do sprawy. Oba języki działają na podobnej zasadzie, czesto różniąc się tylko samym sposobem zapisu instrukcji, bo w zasadzie kod się pisze na podobnym poziomie abstrakcji....
(at)T_O_J_A: Pan utak3r dobrze prawi. Z C# 3x razy szybciej osiągniesz pożądane efekty. A co do zdań na temat od jakiej technologii powinno się zaczynać, hmmm, wg mnie gorszym wyborem niż C++ jest tylko PHP. C++ jest doskonałym przykładem jak uparta chęć utrzymania kompatybilności wstecznej (tutaj do C) może popsuć projekt języka. W C++ na kodera czeka...
To jest w porządku, jakbyś później przenosił program na procesorek z większą ilością RAM to nie zapomnij, że wtedy wskaźnik stosu jest przechowywany w SPL:SPH : ldi TempA, HIGH(RAMEND) out SPH, TempA ldi TempA, LOW(RAMEND) out SPL, TempA MOje pytania bardzije będa się tyczyły zaprojektowania jakiejś prostej klawiatury na 5 klawiszy....
A co myślisz o takim rozwiązaniu? Zda egzamin takie sprawdzenie UDR: [syntax=C] #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include <avr/interrupt.h> #include "HD44780.h" volatile uint16_t tempw, tempx; volatile uint16_t cz_d, cz_u; char tab1[8], tab2[8], tab3[8], tab4[8]; volatile...
A jest jakaś różnica (oprócz nazwy) pomiędzy starym odkurzaczem Orion Max, a nowym przemyślanym Cobra 2 Silent? Jest - na przykład tylny korpus jest w innym kolorze - bo czarny :D A tak na serio, to faktycznie chyba to to samo, bo nawet instrukcję do niego mam "uniwersalną" (Cobra II, Orion, Orion Max). BTW, schodząc trochu z tematu - spójrzcie na...
Z HAL'a nie korzystałem, ale taki kod z SPL działa w 100% - wystawia na DAC'a po kolei, cyklicznie próbki z tablicy z częstotliwością kontrolowaną preskalerem TIM1->ARR - fragment prostego generatora opartego na STM32F4: [syntax=c] GPIO_InitTypeDef GPIO_InitStructure; RCC_ClocksTypeDef RCC_Clocks; DAC_InitTypeDef DAC_InitStruct; DMA_InitTypeDef DMA_InitStruct;...
Tak myślałem. Do tej pory próbowałem sam napisać obsługę opartą na przerwaniach od UATR'u i liczniku, ale dojechałem do chyba martwego punktu - odpytywanie pojedyńczego modułu działa bez problemu, natomiast problem jest z kilkoma modułami, tzn. jak odpytuję kilka modułów odpowiada tylko jeden... Algorytm po krótce wyglądał tak, może ktoś zobaczy błąd...
Witam wszystkich, mam taki problem: Kupiłem przejściówke USB-RS232 na PL2303 i MAX211 (konwerter poziomów napięć). Podłączyłem się jednak bezpośrednio do wyjść PL2303 RXC i TXC (przed MAX211), aby uzyskać RS TTL. Jest echo ale występują błędy komunikacji z moim układem. Na dodatek zbudowałem na pająka znaną na tym forum przejściówke na Atmega8 i na...
Coś się w tym algorytmie nie trzyma kupy. Wciśnięcie przycisku zajmuje człowiekowi czas rzędu 1-10 sekundy (ok, przy trzymaniu palca na guziku daje się zejść do 1/40). Przez 1/40 sekundy przy 8 MHz próbkowaniu można zarejestrować 200 tysięcy próbek, a bufor mamy na kilka tysięcy. No to co my tu udajemy? Jakie użyteczne dane można złapać w parę kB pamięci...
http://obrazki.elektroda.pl/7831510000_1... Witam, w końcu i ja postanowiłem zaprezentować swoje dokonania na elektrodzie. To mój pierwszy post w DIY, proszę o wyrozumiałość. :-) 1.Pomysł Dla mnie, człowieka urodzonego pod koniec lat 70, zawsze wzorem zegara był zegar Teleexpressu. Te 60 diod sekundnika były dla mnie magnesem. Jednak...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Po raz kolejny zwracam się z prośbą do kolegów forumowiczów. Od pewnego czasu pracuję nad regulatorem fazowym zwykłe sterowanie triaka, wykrywanie 0 sieci nastawiane opóźnienie załączenia nic odkrywczego. Postanowiłem napisać taki program aby rozpocząć przygodę z uC. Pierwsza wersja powstała w C dodałem do tego coś a'la soft start i nawet to pracowało...
ok. jak tylko będę w pracy wkleję kod. teraz tylko napisze, iż mam bufor kołowy, wykrywam w moim przypadku znak 155 (przyzwyczajenia z transmisji w Atari 800) jak sie pojawi sprawdzam 3 bajty adresu i jeżeli jest ok ustawiam flagę i wskaźnik na początek bufora. procedura nie jest odporna na nadpisanie bufora!!! lecz u mnie sie to nie może zdarzyć. oto...
Witam. Nie mam już pomysłu na rozwiązanie mojego problemu. Program działa, ale przy przesuwaniu tekstu w tablicy do prawej AVR GCC generuje dużo mniejszy kod (1002 bajty) niż jeśli zakomentuję tę część pętli głównej programu (1366 bajtów). Kompilacja przechodzi bez warningów w obu wypadkach. Dodatkowo po zaprogramowaniu układu program nie wraca do głównej...
Kiedyś umieściłem na obecnie niedostępnej stronie and.elektroda.eu materiał o dekodowaniu sygnału DCF. Urządzenie potrzebne było w urządzeniu, które wymagało synchronizacji czasu w pomieszczeniu gdzie wyprowadzenie anteny zewnętrznej do GPS było utrudnione. Poniżej umieszczam treść oryginalnego materiału, który może być pomocny przy budowaniu urządzeń...
https://obrazki.elektroda.pl/9234332600_... Ode mnie: Opis jest powierzchowny ze względu na brak czasu. Postaram się odpowiedzieć na rzeczowe, techniczne pytania dotyczące konkretnych zagadnień. Urządzenie jest projektem jednostkowym, niekomercyjnym. Schemat: https://obrazki.elektroda.pl/4430277100_... Z potrzeby...
http://obrazki.elektroda.pl/5336859500_1... Projekt został zrealizowany na potrzeby sterowania urządzeniami zasilanymi z sieci 230V , świetnie nadaje się jako sterownik do wytrawiarki lub innych tego typu urządzeń, w których konieczne jest utrzymywanie stałej temperatury. Układ oparty jest o mikrokontroler ATmega8 firmy Atmel , który...
Mam podobny problem, po zatankowaniu do pełna czasem po kilometrze, czasem po kilkunastu, kilkudziesięciu mrygają czyery diody, ale główna świeci na zielono. Jak wyciągne bezpiecznik,.problem znika, ale czasem tylko na.chwile. Bylem wlasnie u gazownika, ale stwierdził że auto jedzie na gazie mimo to ( chociaz tłumaczyłem, ze przejade 300 km na zbiorniku,...
Może po prostu stos się przepełnia? W każdym razie te parametry "oCurrSensor[0], oFOC[0]" są na 100% traktowane jako wskaźniki - nie byłby to pewnie pierwszy głupi błąd w kodach od ST... 0800605d: ldr r2, [r0, #80] ; 0x50 <- odczyt spod adresu równego (pierwszy argument + 80) 4\/3!!
https://obrazki.elektroda.pl/8287704400_... Witajcie moi drodzy Przedstawię tutaj mój projekt zewnętrznego wyświetlacza temperatury procesora z komputera. Wyświetlacz pokazuje temperatury od 0 do 99C, jednocześnie odpowiednio dobierając swój kolor. Wyświetlacz zrobiony jest samodzielnie od 0 w oparciu o diody WS2812B, sterowany jest...
I nie wiem co jest nie tak :/. Wszystko co wymyśliłeś. Nie wiem po jakiego grzyba Ci ta programowa kolejka FIFO, skoro i tak musisz czekać na wysłanie bajtów przez UART (a to trwa "wieki" dla tego uC). Wymyślona przez Ciebie kolejka FIFO zawsze będzie się przepełniać, wszędzie w kodzie masz inkrementacje wskaźników.
Nie ma. W języku C nie można przypisywać tablic, trzeba je kopiować. Można (jak tzw tablice wiszą na wskaźnikach) , z małą gwiazdką u dołu. W języku C w ogóle nie ma rasowych tablic, jest obszar pamięci i arytmetyka wskaźników, w tym operator (tak!!!) tablicowy Nie ma sprawdzania zakresu, bo nie ma informacji o zakresie. Tak naprawdę to w ogóle nie...
Witam wszystkich, Potrzebowałem uruchomić układ z większą ilością termometrów DS18x20, które będą rozlokowane w różnych miejscach domu i poza nim. Część z nich będzie wpływała na uruchomienie ogrzewania, inna część będzie tylko informacyjna. Jeszcze inna będzie miała za zadanie zabezpieczenie elektroniki przed przegrzaniem. Taki w ogólności jest zamysł...
Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...
przepełnienia timera czujnik przepełnienia linii czujnik przepełnienia wodą
niebieskie kropki karta graficzna wyłączyć koszt połączenie programator renesas
podwieszany sufit esl66060 reset
Antari Z-350: Mrugająca dioda amber, brak dymu Błąd A0544 w Siemens CU240S - Diagnostyka i Rozwiązania