#lit1 jest z tego co pamietam oznaczeniem numeru bitu, czyli cyfra od 0 do 15. takie operacje realizowane sa na normalnych zmiennych/rejestrach o wiekszym rozmiarze. warto chyba jeszcze dodac, ze powyzsza deklaracja stworzy ci zmienna STATYCZNA, to znaczy bedzie ona zajmowac miejsce w pamieci przez...
Witam. Mam problem z odczytem rejestrów które są zapisane w urządzeniu w formacie FLOAT. O ile odczytanie rejestru który jest w formacie REAL nie ma problemu, to gdy odczytuje dane z FLOAT otrzymuję dziwne wartości. Mam przepływomierz z karta rozszerzeń modbus. Komunikacja działa prawidłowo...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści...
Pokażę tu jak uruchomić z Arduino czterocyfrowy wyświetlacz 7-segmentowy sterowany poprzez rejestr przesuwny 74HCT164 i cztery tranzystory BC546. Płytka z wyświetlaczem znów będzie odzyskana z elektrośmieci. Będzie to już kolejny temat, w którym uruchamiam wyświetlacz, gdyż omawiałem...
Witam, Mam prosty problem: Jak inkrementować zmienną za każdym załączeniem ? Chodzi o to żeby był jeden marker pomocniczy (%M) który na starcie będzie przesyłał wartość zero do rejestru (%R) kiedy zmienna %M przejdzie w stan wysoki do rejestru powinna zostać wysłana jedynka kiedy zmienna...
Mam problem z rozumieniem języka ASM. Niby wszystko działa OK ale jest pewien fakt dla mnie niezrozumiały i aż zjadam zęby. Krótki opis działania programu: w podprogramie ustawiany jest 7 bit w zmiennej bajt który następnie jest sprawdzany w głównej pętli i jeśli jest ustawiony to zmienia...
Witam, postanowiłem wykonać projekt elektronicznego miernika mocy czynnej. Mam problem z odczytem zawartości 24-bitowego rejestru AENERGY, który zawiera informacje o pobieranej mocy przez urządzenie. Chciałbym na 1 okres sieci czyli w ciągu 20ms odczytać 200 próbek i zapisać wartość...
Witam, Piszę program w środowisku "Ride '51" - główny program w asemblerze, zaś skomplikowane (dla mnie) matematyczne funkcje wykorzystuje z języka C. I oto przykład takiej funckji: unsigned int oblicz (unsigned int fwd, unsigned int rev) { float x = 100 * (float)rev...
Rozwiązanie z postu powyżej jest najlepszym według mnie: if(v) PORTB |= (1<<PB3); else PORTB &=~(1<<PB3); Żeby jednak traktować pojedynczy bit portu jako osobną zmienną można wykorzystać fakt, że rejestry io posiadają swój adres w przestrzeni...
Rejestry TEMP z kolei służą wyłącznie do atomowego ładowania konfiguracji DMA (rejestry DMA są nawet 24-bitowe), nie mają więc żadnego zastosowania dla programisty. Pomijam pewne knify typu ładowanie szeregu rejestrów tą samą wartością poprzez wpisanie tylko najbardziej znaczącego bajtu....
Witam. Mam pytanie, może dla niektórych oczywiste, ale odpowiedzi nie znam. W jaki sposób sterować wyświetlaczem za pomocą rejestru przesuwanego, np 74HCT164 ? Czy po wysłaniu zmiennej, dane segmenty się świecą aż do wysłania kolejnej zmiennej? Przy komendzie: SHIFTOUT pin_danych ,...
Witam, na wstępie przepraszam za użycie sformuowania "Aligned writes", bo żadnen polski odpowiednik nie przychodzi mi do głowy. Jakiś czas temu udało mi się dzięki pomocy developerów Free Pascala zmusić kompilator do prawidłowego generowania kodu dla platformy Thumb2. Wszystko fajnie hula,...
witam, potrzebuję zrobić kilka wstawek asmemblerowych do programu napisanego w C. Kompilator to CodeWarrior oparty o eclipse. Mam problem z przeniesieniem zmiennej z języka C do asm i odwrotnie. Od dłuższego czasu szukam rozwiązania w sieci, ale nic sie nie kompiluje... mam takie coś: ...
Witam, staram się napisać mój pierwszy program w VBA. Ma on za zadanie automatyzację ewidencji sprawozdań. Jedną z cech tego programu, musi być zdolność do kopiowania zawartości określonych komórek z każdego arkusza dokumentu i wklejanie ich kolejno do oddzielnego pliku. Żeby nauczyć...
taki sposób deklaracji jest jak najbardziej poprawny, jest nawet pod pewnymi względami lepszy, bo nie deklarujesz adresu każdej zmienej z osobna, więc pomiędzy już zadeklarowane zmienne możesz "wcisnąć" następne bez potrzeby zmiany reszty. W pamięci rozkłada się to tak, że DSEG AT 01H...
To rozumiem to tak że zmienna "i" jest już na stałe w pamięci i zadanie tej funkcji jest wykonywane najszybciej jak to możliwe Tak zmienna ma swoje stale miejsce w pamięci. Nie koniecznie wykonanie jest najszybsze bo najszybciej to działa jak zmienna jest w rejestrze procesora a globalną trzeba...
jesli koledze chodzi tylko o zapis i odczyt z rejestrow to nie ma zadnego problemu wystarczy jedynie uzyc zwykledo assemblerowego mov. np. chcesz zapisac do rejestru r0 ze zmiennej to piszesz mov r0,{zmienna} a przy odczycie odwrotnie mov {zmienna},r0
Wszytskie zmienne daklarowane w C są przekazywane do ASM poprzez rejesrty R0-R7. W opisie kompilatora powinno to być opisane jaka zmienna w jakich rejestrach. C działa na funkcjach gdzie do funkcji są przekazywane oraz odbierane zmienne. Funkcja może być napisana w całości w ASM i wtedy z języka...
no to niech kolega pomyśli co się za tym OCR1 kryje ? Może coś takiego _SFR_IO8 (..)? a znak &zmienna to nic innego jak pobranie adresu zmiennej znajdującej się gdzieś w pamięci więc się nie ma czemu dziwić. mało tego twoja zmienna reg w swojej deklaracji unsigned int *reg może pobierać...
Witam. Mam pytanie jak na wizualizacji ifix zmienić wartość rejestru który będzie użyty w sterowniku PLC siemens S7-400? Możesz bardziej rozwinąć pytanie, bo nie jest jasne czy chcesz zmienić wartość zmiennej z iFIX, która przypisana jest do pewnej komórki w PLC Simens, czy też zmienić...
Witam, Potrzebuję odczytać 32 enkodery podpięte do mikrokontrolera przez rejestry 74HC165. Odczyt z rejestrów odbywa się przez sprzętowe SPI z częstotliwością 1MHz. Problem polega na przetworzeniu tych danych. Jak się za to zabrać? Myślałem nad odczytem rejestrów do globalnych zmiennych...
Ja na twoim miejscu zacząłbym od nauki podstaw C, a potem ogarnięcia tego języka na AVR. To po pierwsze, a po kolejne: - do zliczania nie używaj float, wbrew pozorom to nie jest obojętne, czy będzie float, czy int. Poczytaj o tym jak float jest reprezentowany w pamięci, bo możesz się zdziwić,...
Witam Szanownych Forumowiczów, w aktualnym projekcie muszę wygenerować trzy interwały czasowe z regulowaną długością. Poglądowy rysunek dołączony jest jako załącznik. T1ON powinien mieć regulację 1-100us, T2OFF (możliwie krótko - 5us), T3ON (możliwie krótko - 5us). Wykorzystywana...
Zmieniłem nazwę użytkownika z Krzysztof na Krzysztof Żak i skutecznej zmiany w rejestrze nie mogę dokonać. Robię to na podstawie: Cytat: Zmiana domyślnej lokalizacji pulpitu Pulpit można przenieść do dowolnego folderu (np. zamiast na dysku C może być na dysku D gdzie jest np....
Może trochę spróbuję podsumować, bo, sądząc z pytań, odpowiedzi kolegow powyżej, aczkolwiek poprawne, moga być na nieco zbyt wysokim poziomie abstrakcji :) 1. Stałe są umieszczane w pamięci programu, a nie pamięci danych. 2. AVR gcc preferuje umieszczanie stałych wewnątrz kodu rozkazu...
Nie ma czegoś takiego w VHDL, są jedynie możliwe zmienne "lokalne" w modułach. Jeśli chciałbyś zrobić jakiś globalny rejestr to musisz umieścić go w którymś module i połączyć moduły w taki sposób aby oprócz wartości zmiennej były przekazywane informacje o zapisie (np sygnał). Jeśli...
Union dzieli obszar pamięci pomiędzy 2 zmienne. Myślałem nad tym. ( w przypadku gdy nie wykorzystuję ciągłego obszaru pamięci - ( nie wszystkie pola struktury chcę mapować na rejestry modbus ) - pojawia się problem. ) Co więcej rozwiązanie podane przez kolegę wyżej umożliwia swobodną...
Mam sterownik VersaMax podłączony przez Ethernet lub COM. Muszę wprowadzić do niego programy różnych regulatorów. Niestety mam problem z wartościami początkowymi poszczególnych bloków programu. (dużo symboli nieoznaczonych po uruchomieniu programu). Dla sprawdzenia stworzylem nowy program...
Warto jeszcze w takim razie robić następujące rzeczy: 1. po wejściu do przerwania wyłączać zezwolenie na przerwania 2. przed wyjściem z przerwania włączać zezwolenie na przerwania 3. zmienne globale inicjalizować wartością w kodzie 4. ręcznie zachowywać rejestry przy wejściu do funkcji 5....
dzięki za podpowiedzi, mam jeszcze w związku z tym pytania (dot. asemblera): według specyfikacji CORTEX-M3, funkcja mogła by wyglądać tak: ROL R0,1 ROR R0,31 dają identyczny wynik. Pytanie brzmi: co jeśli moja zmienna jest 16 bitowa, a rejestr na którym będzie realizowana operacja...
potrzebny jest mi generator fali PWM o zmiennej częstotliwości i wypełnieniu. Moim licznikiem jest timer1 pracujący w trybie CTC. Nie analizowałem kodu, bo przekombinowałeś. Jak chcesz mieć zmienne wypełnienie to użyj trybu FastPWM (tryb 15 z wartością TOP w OCR1A), a nie CTC. W...
Witam, list p=16f628a, r=dec #include p16f628a.inc __config b'11111100010000' errorlevel -302 cblock h'20' Zmienna endc movlw b'00000111' movwf CMCON clrf PORTA clrf PORTB bsf STATUS, RP0 bsf PCON, OSCF movlw b'00000011' movwf TRISB movlw b'00001000' movwf TRISA bcf OPTION_REG, 7 bcf...
Witam, mam taki problem. Procek -Atmega8, chwilowo taktowana wewnetrzym 8mGHz. bascom Ogólnie program działa nastepująca: Korzystam z INT0 ustawiam go na zbocze opadjaące. konfiuguruje timer0 z parametrem Compare A = disconnect ustawiam flage na 0 do loop przerwanie int0: czesc1: sprawdza...
witam wlasnie sie zoorientowalem ze te rejestry to tez przeciez pamiec SRAM i z przesunieciem 0x20 mamy do niej dostep jak do zwyklej komorki... zadeklarowalem zmienna jako wskaznik do niej i teraz juz moge podawac te zmienna w parametrze funkcji i zmienia mi w petli na bierzaco...problem rozwiazany...
Nie jestem taki pewien. Dalej w opisie $noramclear jest napisane , że zawartość komórek pamięci nie zostanie skasowana , co nie oznacza , że pozostaną w niej zmienne, a raczej , że pozostaną w niej wartości przypadkowe. Jeśli napięcie zasilania nie spadnie poniżej poziomu podtrzymania pamięci...
Bo nie ma to żadnego znaczenia, gdzie jest spacja? Dodano po 3 BTW, zapis typ *zmienna, to nie deklaracja, a definicja zmiennej. Deklaracją byłoby np. extern "C" typ *zmienna.
Wszystko się zgadza ale chodzi o to, że jak w status_monitoring podglądam te zmienne - to oczywiście daje jako DR dany adres ale muszę podglądać jako DECIMAL. Co jeśli chciałbym wykonywać z aktualną wartością zliczoną jakieś obliczenia arytmetyczne? Np. dzielenie. Przy takim zapisie...
Witam Wyświetlacz LCD 2x16 HY-1602F6. Chciałbym wyświetlić liczbę w postaci dziesiętnej odpowiadająca wartości rejestru (w moim przypadku R1). Wyświetlanie tekstu mi działa prawidłowo. [syntax=x86asm] name STEROWNIK_NAMIOROW E_N EQU P3.7 ...
Mam jednak znowu problem:( Borykam się z jednym błędem i jednym warrningiem. Wygląda to tak: plik main.c [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "rejestr.h" int main(void) { InitSpi();/*...
Atmega to raczej nie możliwe , pewnie nadpisujesz sobie któryś z rejestrów z jednej pętli druga odpal program w symulacji i zerknij kiedy i gdzie zmieniają się wartości . Możesz zobaczyć czy odłożenie rejestrów na stos przed wejściem w pętle i pobraniem po niej usunie błędu jak tak się...
Takie operacje na bitach w strukturach nazywane są polami bitowymi. Jeżeli chcesz gdzieś zmieścić wartość 10 bitową, to przecież możesz przechowywać tę wartość w zmiennej o wielkości 16 bitów. Co do używania struktur z polami bitowymi i rzutowania na nie innych wartości, to zwróć...
Witam, od kilku dni walcze z modulem nrf24 do ktorego chce sam napisac biblioteke (uzywam atmega328P) Jestem na etapie odczytywania wartosci wpisanej do danego rejestru. Ustawianie bitow w rejestrach dziala dobrze, sprawdzam to za pomoca amperomierza (przy ustawieniu odpowiednich wartosci w rejestrze...
I2cstart 'inicjalizacja magistrali I2C I2cwbyte 160 'podanie adresu PCF8583 do zapisu I2cwbyte 0 'wybranie pierwszego (kontrolnego) rejestru...
Tak zgadza się tylko jak szukałem materiałów to trafiłem na A1. _________________________________... problem z zapisem zmiennej do pamięci EEprom typu string lub innej zmiennej rozwiązałem tak: 'Parametr opcjonalny AT pozwala na umieszczenie...
Hej, Adresy są ustawione w channel configuration. Podaje się tam adres początkowy dla poszczególnych rejestrów. Pozostałe rejestry są przypisane do zmiennych sterownika po prostu z przesunięciem względem adresu początkowego. Wydaje mi się (jutro sprawdzę), że to może być tylko jeden...
Na wstępie chciałbym powiedzieć że piszę w BASCOM-ie AVR. Buduję urządzenie które ma wyświetlać wynik na wyświetlaczu 7-mio segmentowym (podyktowane warunkami środowiskowymi i widocznością). Napisałem program który działa (listing poniżej) ale dręczy mnie pytanie czy nie da się...
Witam piszę prosty program wyświetlający różne zmienne z programu na wyświetlaczu LCD. Wyświetlacz podłączyłem i wszstko gra, moge wyświetlać napisy ale nie mogę wyświetlić zmiennych. podam kod do mojego programu i krótko go opiszę: Program miał wyswietlac godzinę na wyświetlaczu,...
Jakby dobrze pokombinowac to cały ten program mozna zrobic na kilku rejestrach albo nawet dwóch.:) Tylko po co? Rejestry uzywa sie po to aby program wykonywal sie jaknajszybciej gdyz dostep do nich jest 1 taktowy. Poza tym nie wszsytkie zmienne w programie muszą miec 8 bitów, a za tym zmienne typu...
Witam problem jest następujący, inicjalizacja SPI przechodzi (wydaje mi się że poprawnie). Niżej podam wartości rejestrów SPI3. Problem polega na tym że nie mogę nic wpisać do DR w interfejsie SPI, nie mam jeszcze nic podpiętego do SPI ale mam zamiar przetestować całość na modułach MMcc1100...
1) Czy dla zmiennych o rozmiarze poniżej 32bity zawsze przydzielane jest 4 bajtowy rozmiar pamięci? To kwestia wyrównania. Gdyby nie te int-y wcześniej nie byłoby problemu. A że są, to kompilator stara się by każda zmienna 32bitowa była umieszczona pod adresem podzielnym przez 4...
Zacytuje lecha który keidyś pomógł mi zrealizować ten problem sprzetowo i bardzo dokładnie w sumie i właściwie na dowolnych częstotliwościach (ja potrzebowałem 40kHz i 4 niezależnych kanałów o tej samoe częstotliwości i różnym czasie wypełnienia): "Ja to widzę tak, bez komparatorów:...
Mam problem, potzrebuję zmiennej (rejestru?) o dużej pojemności, nawet 16bitów. Potrzebuję je do obliczania m.in. pierwiastków i kwadratów liczb. Jak je uzyskać w Asemblerze? piszę w AVR Studio pod AT90s2313.
Napewno nie tylko przy skokach do przerwan ale takze przy wywolywaniu funkcji (musi istniec adres powrotu).Generalnie AVR jako przedstawiciel rodziny z duza iloscia rejestrow ogolnego przeznaczenia przekazuje parametry do funkcji za pomoca rejestrow procesora.W architekturach "ubogich" w rejestry gdzie...
zamiast float uzywaj double - podwojna precyzja A co do mozliwego zapisu liczb, to float/double umozliwia zapisanie wiekszej/mniejszej liczby niz int, tyle tylko, ze przy tak duzych liczbach zacznie wprowadzac drobne bledy w obliczenia. "i chciałem żeby powieściła jak największe wartości." A...
witam w prostym programiku ktory napisalem pojawil sie nietypowy problem i nikt nie potrafi wytlumaczyc dlaczego sie tak dzieje. mam nadzieje ze tutaj znajde odpowiedz :) program przedstawia sie nastepująco: TCCR1A = 0x00; // T/C1 w trybie czasomierza TCCR1B = 0b00001101; //preskaler 1024 OCR1A...
Rozumiem, że nie masz kodu źródłowego? ;) Jako osoba pisząca od wielu lat w C i mająca okazje w tym czasie obejrzeć wiele różnego rodzaju "wynalazków" powiem, że to co napisałeś w pierwszym poście może mieć sens. Tzn. spotkałem się z praktyką pisania kodu testującego flagę bitową...
Jeżeli masz na myśli platformę x86 gdzie DL to część rejestru EDX, to piszesz: int zmienna; __asm { ; mov dl, cośtam movsx edx,dl ; int jest ze znakiem więc movSx mov zmienna,edx } Jeżeli zmienna ma przyjmować wartości bez znaku (0-255), to zmień movsx na movzx.
1. Przy wejściu w przerwanie jej wartość zostanie umieszczona w jakimś wolnym rejestrze mikrokontrolera i tylko w oparciu o wartość tego rejestru będzie odbywał się dostęp do niej w ramach przerwania 2. Przy wejściu w funkcję gdzie także będziesz używał tej zmiennej, także zostanie...
Witam, Pracuje na zestawie ZL3AVR [Atmega32 + kwarc 16 MHz]do którego są podłączone dwa układy LED driverów. Układy posiadają 16 wyjść. Pracuję nad tym już od kilku dni, ale nie wiem dlaczego gdy wysyłam mniejszą daną np. 1 lub 2 (dla zmiennych inf1, inf2, inf3, inf4) to jest ok....
Witam Uczę się Veriloga, środowisko Altera Quartus II 13.1 wraz z Modelsim-Altera 10.1, mam problem z symulacją. Próbuję napisać generator sygnału VGA. Na początku mam dany sygnał 50MHz i chcę go dzielić na dwa otrzymując 25MHz: (fragment kodu z laboratoriów mojego wykładowcy) Obszedłem...
Mam zbudowany układ z Atmegi8 i dwóch rejestrów przesuwnych: Jeśli ktoś nie wie jak działa rejestr przesuwny, można podejrzeć W C jest to całkiem proste i można zrobić to w ten sposób: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> //krótkie...
W bloku PACZKA masz przeniesienie 56 wejść od %I1 do %R500 oraz przeniesienie 56 wejść od %I1 do rejestrów od %R296 (cztery kolejne rejestry). W bloku SKALOW masz znów przeniesienie 56 wejść od %I1 do M200 (i te chyba są używane w programie sterującym) Musisz zidentyfikować które Q odpowiadają...
Dzisiaj akurat potrzebowałem rejestru HC595 do rozszerzenia liczby wyjść użytecznych. Poniżej fragment kodu w bascomie. Przypisane nazwy odpowiadają katalogowym. Zmienną Portx traktujemy jak zwykły 8 bitowy port wyjściowy. Kod z pod etykiety 'obsługa rejestru' wstawiamy w pętli głównej programu,...
Kompilator najpierw na stosie rezerwuje miejsce na tablicę, potem funkcji itoa przez rejestry procesora ( lub przez stos) przekazuje wskaźnik( adres ) do tej tablicy. Funkcja itoa zwraca wskaźnik też przez rejestry i ten sam wskaźnik dopiero przekazywany jest do funkcji LCD_WriteText(). Z tego względu,...
Dodatkowo każdy zmienna większa niż "naturalny dla platformy integer" nie musi / nie będzie obsługiwana jednym rozkazem maszynowym Kolego żaden rozmiar zmiennej nie przechowywanej w rejestrze przy inkrementacji nie będzie w AVR-rze atomowy. Najpierw trzeba odczytać do rejestru - powiekszyć...
Witam, Czy jest możliwość przypisania wartości do rejestrów mikrokontrolera w momencie kiedy oprogramowanie łączy się z mikrokontrolerem i następuję wczytywanie programu? Przykładowo mam program gdzie generuje sygnał PWM do sterowania prędkością silnika. W momencie kiedy chcę przeładować...
Czołem! Jestem na ukończeniu projektu. Mam problem z zapisaniem stanów kilku zmiennych w zewnętrznym EEPROMie po TWI, a później ich odczycie. Zapisywanie wygląda tak: [syntax=c]values_buffer[0] = cnt_value1; values_buffer[1] = cnt_value2; values_buffer[2] = cnt_value3; values_buffer[3]...
Normalnie aby wyświeltć tekst w asemblerze trzeba : section .data napis: db 'napis', 13, 10, $ section .text start: mov dx, napis mov ah,9 int 21h Natomiast ja chce wyświetlić zawartość rejestru AL, a dokładniej mówiąc chce pobrać satan jednego z bitów...
Jak połaczyć 3 zmienne 8 bitowe które sa odczytywane z 3 rejestrów przetwornika i stanowia w sumie(24 bitowa) wartość tego przetwornika. chodzi o to zeby te 3 zmienne połaczyć i przetworzyć na postać dziesiętna aby można było je wyswietlić na wyświetlaczu. w bascom jest funkcja która...
Witam! Jestem trochę świeży w ARMach. Mam gotową płytkę z LPC2136, do której podpięty są wyświetlacze LED, LCD, termometr (LM35CZ) i pare innych. Główna funkcja to zliczanie impulsów na wejściu capture: P0.10 CAP1.0 (ma to być wykorzystane do obliczania prędkości samochodu). Wykorzystuję...
Witam muszę nauczyć tworzyć rejestry n bitowe z przerzutników typu D i T z funkcjami przesunięcia w lewo lub w prawo, zapis, i np suma. Wszyto ma być w zapisie VHDL walczę już z tym od 2 tygodni mam problem z odwzorowaniem wszystkich sygnałów dla przykładu O jej,... Twój opis VHDL...
Dzięki bardzo Akane. Dodam jeszcze że PTR można używać tylko do przesyłania do rejestru liczby 'z ręki' lub zmiennej.
Witam W ostatnim czasie próbuję zapoznać się bliżej z procesorem ATxmega64B3. W ramach testów zająłem się tematem flag (czyli zmiennych bitowych), które mogą być zmieniane zarówno w pętli głównej jak i w przerwaniach. Jak wiadomo temat ten ściśle związany jest z zagadnieniem zapisu/odczytu...
Podobno lokalne są trzymane w $frame, no więc powinno się dać dużo więcej zmiennych lokalnych zrobić, a tu taki zonk... Tak, ale też wykorzystany jest softwarowy stos w którym są wskaźniki do tych zmiennych (adresy zmiennych). W Bascom'ie rejestr Y jest wykorzystany jako baza stosu softwarowego....
Witam. Odczytuję programem Scilab dane ze sterownika PLC po protokole Modbus. Liczby zmiennoprzecinkowe są więc przedstawione w postaci dwóch rejestrów (dwóch zmiennych int: pierwsza na starszych bitach, druga na młodszych). Potrzebuje przekonwertować takie dwie zmienne int do jednej zmiennej...
Witam Panowie Mam prośbę do kolegów bardziej zaawansowanych w Proficy. W załączniku przesyłam dwa programy. Obydwa sterowniki komunikują się po SNP i tutaj sprawa jest dość jasna. W programie sterownika interesują mnie trzy wyjścia: Q00056 które sterowane jest zmiana rejestru R00161 Q00057...
Oczywiście linie są podciągnięte, robiłem testy na hal i komunikacja działa czyli sprzętowo można uznać że jest dobrze. zmienną maddr ustawiłem na uint16_t i w celu wysłania podzieliłem na starszy i młodszy bajt bo rejestr DR jest 8 bitowy jednak dalej zatrzymuję mi się na pętli while...
Witam, ta funkcja ma wyciągac z bufora podstringi do porównania za pomocą strcmp. w sumie masz racje z tym zapasowym buforkiem.pokombinuje wieczorem. dzieki i jak są jakies pomysły to bardzo proszę :) Substring to para liczb - offset od początku bufora oraz ilość znaków w substringu....
Zaimplementowałem pliki Freddie'go (startup.S oraz plik .ld), dorzuciłem do skryptu linkera nowy obszar ram'u, podmieniłem plik syscalls.c ...i działa...ale nie wiem gdzie jest inicjalizowana wartość zmiennych w tym drugim obrzarze...czyżby tutaj? gdzie w r1 jest dokładnie początek...
Witam serdecznie wszystkich, jestem stosunkowo nowy w dziedzinie mikrokontrolerów, ale postaram się przybliżyć problem najprościej jak się da. Sama idea jest taka, aby wykorzystać Sonar HC-SR04 od Arduino i przy pomocy atmegi16 wyliczyć odległość i wyświetlić to na ekranie. Jest użyty kwarc...
Witam, na poniższym kawałku kodu testuję wyświetlanie zmiennych i tablic lecz tylko przykład 0 wyświetla się poprawnie - co powinienem poprawić w kodzie aby wyświetlić zmienną i tablicę ? [syntax=c]// LCD 5110, PIC16F628A, MikroC PRO for PIC, 4MHz intosc, MCLR off, 3.3V zasilanie...
1. Podrzucę Ci pomysł, pomocny lub nie. Zrobiłem PWN Atmega8 (czyli straszny dziad) generator miłego dla ucha sinusoidalnego dźwięku (w oparciu o przerwanie timera). Czystość uzyskałem, gdy na samym początku przerwania ustawiałem wartość ze zmiennej do PWM, a potem mogłem ją sobie opracowywać...
te instrukcje zerują bit w rejestrze ok. wielkie dzięki ale czytając książki na temat programowania tego ustrojstwa atmega było napisane że wystąpienie przerwania w trybie przechwytywania następuje w skutek wykrycia zmiany sygnału na wejściu icp1 gdy timer ustawiony jest w tryb przechwytywania ale...
Faktycznie, lepiej chyba będzie zastosować ów układ. Czyli algorytm sterowania czymś takim będzie mniej więcej taki? Reset rejestru -> Przygotowanie zmiennej -> Wysłanie pierwszego bitu -> sygnał zegara -> wysłanie drugiego bitu -> sygnał zegara itd, aż jedynka nie wskoczy na swoje miejsce...
ciekawe po co taka kombinatoryka... uint8_t zmienna; ... zmienna>>=1; ... efekt ten sam, sprawa 10x prostsza. a jak koniecznie musi byc metoda na-okolo-specjalnie-utrudniam-zeby-nikt-...
Tym razem dobrze, ale to rozwiazanie jest do kitu. W ten sposób to można to zrobić na zmiennej przyjmującej wartości w zalezności od SFRa do zmodyfikowania - zajmuje mniej pamięci. A sam sposób to milionifów przy kilku kombinacjach zmiennych - rozbi się niepotrzebna kobyła. Ja wymyśliłem...
Witam, Takie dziwne pytanie :) W jaki sposób pobrać program z S7-200 w taki sposób aby mieć zachowane tymczasowe wartości rejestrów (zmiennych) %V (jako kopia bezpieczeństwa), aby po wgraniu programu z powrotem do sterownika rejestry uzyskały wartości jak z przed operacji pobrania a nie...
Witam. Do uruchamiania programów razem z systemem używam takiego oto kodu w Rejestrze Windows: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE... Do pewnego programu muszę...
Pisząc algorytm masz na myśli algorytm czy kod w STL-u? :) Algorytmu niestety nie posiadam, ale mam kilka własnych funkcji, z których jedna jest w miarę dobrze opisana (kto pisał w STLu ten wie, że bez komentarzy już po dniu można zapomnieć co się miało na myśli): FUNCTION "SHIFT_REG"...
Nie wiem czy się zrozumieliśmy dobrze.... Stanęło u mnie na tym: [syntax=actionscript] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> /* sprzetowe SPI */ #define MOSI PB5 // <---- A (SER IN) #define...
Cześć potrzebuje zmienić rejestr ale za pomocą pliku bat który znajduje się na dysku C:data.bat rejestr to: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMi... Services zmienna to: REG_BINARY - NoLockData I potrzebuję zmienić 3 wartości w linijce 20, dokładnie piątą szósta i siódma. Napisałem...
Witam, czy w przypadku instalacji fotowoltaicznych a konkretnie falowników z komunikacją opartą na RS485 (wersje 2 i 4 drutowe) z protokołem ModbusRTU istnieje jakiś zunifikowany system rejestrów z grup 4xxxxx i 3xxxxx ? Buduję koncepcję monitoringu farmy opartej o falowniki DELTA RPI M50A...
Poza tym do przekazywania wartości do ISR użyj GPR, powinno być szybciej. To dobry pomysł. Dzięki. Przyszło mi do głowy, jak nieco zoptymalizować kod. Otóż zmienną Status, która jest volatile i jest często testowana w ISR wczytam na początku do zmiennej lokalnej, na niej będę...
Jestem początkujący więc proszę o wyrozumiałość. Mam pytanie: czy w Bascomie można odczytać, lub zmienić wartość pojedynczego bitu zmiennej, tak jak w przypadku np rejestrów I/O?. Przykład: W przypadku portów I/O np. w procku można odczytać stan pojedynczej końcówki portu za pomocą...
Witam Pisze sobie programiki w C w AVR Studio 4 i chciałbym się dowiedzieć jak podczas symulacji mogłbym obserwować wartości zmiennych (nie wartości rejestrów i wyprowadzeń up,bo to umiem - tylko zmiennych użytych w programie) z góry dziękuje i pozdrawiam Thomek
Witam, Potrzebuję skorzystać we wstawce asemblerowej ze zmiennej zadeklarowanej w C, a dokładnie zapisać w zmiennej widocznej z poziomu C wartość z rejestru. Próbowałem napisać następujący kod //... uint8_t i; //... asm volatile ("sts %0,r20"::"m" (&i):"r20"); //... ale coś tu jest...
1. framesize ustawiasz na 8 2. softstack ustawiasz na 16 Najprawdopodobniej twoją pamięc w tiny zapychaja stos i frame, zmniejsz te wartosci eksperymentalnie. Zmienna bit w bascomie jest definiowana w innym obrzarze pamięci, poza tym rezerwuje od razu cały bajt pozostawiając 7 pozostałych...
zostałem jednak przy tym - do makefile: LDFLAGS += -Wl,--section-start,.data=0x801100,--def... a na początku w sekcji init3 to co wcześniej i wszystko działa. Jednak rozumieć mam teraz, że zmienne będą siedziały w pamięci SRAM począwszy...
Witam, W C programuje a raczej się uczę od niedawna. Mam taki problem. Odczyt z Ds-a jest poprawny tylko jest problem z jedną zmienną. Chce wysyłać wyniki do tablicy a potem do PC. Chodzi o rejest który wskazuje na dzień tygodnia. Z rejestru jest odczytywana wartość do zmiennej "D" od...
Intryguje mnie jeszcze jedna rzecz. Mianowicie podczas konwersji wartości ADC na wartość napięcia widniejącą na LCD wkrada się mały błąd w wyświetlaniu (tak mi się przynajmniej wydaje). Otóż gdy wartość zmiennej pm wynosi 248 to na LCD widzimy 8.6V a powinniśmy widzieć 8.06V jest...
Nie śmieję się, ale przecież zapisywanie stałych w rejestrze systemu nie jest najlepszym pomysłem. Kto potem będzie ten rejestr odśmiecał ? Użytkownik usuwa aplikację a śmieci w rejestrze niestety zostają. Bez zrobienia instalatora/deinstalatora nie wolno robić takich rzeczy :) Z kolei...
to od końca: zegar słowowy - zarówno funkcja BCD2Dec (dlaczego jej nazwa sugeruje błąd?) jak i LED_send działają prawidłowo, ponieważ wywołanie LED_send(BCD2Dec(RTC_recive(... wyświetlenie prawidłowej godziny. problemy zaczynają...
Witam. Można pomyśleć że nie właściwy dział. Napisałem tu ponieważ myślę że osoby piszące programy na mikrokontrolery lepiej zrozumieją problem. Chce połączyć Raspberry PI (dla nie wtajemniczonych mini komputer na ARMie i pod kontrolą dedykowanego linuxa) po TWI z paroma atmegami....
No właśnie - w końcu dla nieznanego mechanizmu modyfikującego zmienne nieznany rejestr procesora nie jest ani trochę bardziej nieznany niż nieznana lokacja na stosie. :)
Witam Czy jest jakiś sposób na zmapowanie zmiennych. Chciałbym osiągnąć coś na zasadzie przekazania zmiennej z bloku DB200.DBX0.0 do innego bloku DB150.DBX10.0 (to tylko taki przykład) W SCLu wystarczy proste przepisanie DB150.DBX10.0:=DB200.DBX0.0 Z tym że z powodu funkcjonalności...
Witam, blok BLKMOV służy do kopiowania danych ze źródłowego obszaru pamięci do docelowego obszaru pamięci, przy czym obszary te nie mogą na siebie nachodzić ("System Software for S7-300/400 System and Standard Functions- Volume 1/2" podpunkt 3.1). Powoduje to, że musimy używać dodatkowego...
Każdy procesor zmienne, tablice czy inne dane, w ogólności całą pamięć, widzi wyłącznie w formie bajtów (czasem jeszcze bitów). Wszelkie typy abstrakcyjne takie jak liczby całkowite, zmiennoprzecinkowe, tablice, struktury itd zostały stworzone tylko po to aby było łatwiejsze do ogarnięcia...
Użycie zmiennej const volatile nie ma sensu, const volatile może nieść tylko informację dla programisty, że w danym kawałku kodu, nie powiennien jej modyfikować, ale kompilato tego nie zoptymalizuje i zawsze będzie to czytać z pamięci. Ma sens, jak najbardziej. const powoduje, że takiej...
Jeśli przypatrzysz się wygenerowanemu kodowi, to dzięki optymalizatorowi mamy po prostu odjęcie 8-bitowe jednej zmiennej od drugiej. Ale to jest bez znaczenia dla tej konkretnej debaty, bo przecież to jak standard języka C "zrealizowany" na konkretnej implementacji (nawet nie wiemy jakiej...),...
Przy tej prędkości zegara wykorzystaj przepisanie UART do zmiennej i tam na niej operuj. Rejestry UART bywają nie dostepne w trakcie transmisji.
Podaję prosty przykład dla AVR-GCC: #include <avr/io.h> /* Oblicza ddres rejestru kierunkowego na podstawie rejestru wyjściowego PORTx.*/ #define DDR(x) _SFR_IO8(_SFR_IO_ADDR(x)-1... REG_CLK_PORT PORTD // port, do którego jest podłączone wejście zegarowe...
Witam, Piszę program pod at90s2313 i wciąż nie mogę zrobić jednej rzeczy - mianowicie - rozbicie liczby integer na bajty oraz przeniesienie ich wartości do poszczególnych rejestrów. Z assmeblera jestem raczej zielony. Prawdopodobnie potrzeba by tutaj zastosować kombinację c oraz asm. dla...
Witam! Minął pewien czas, od kiedy wystawiłem poprzedni mój projekt; dziś chciałbym pochwalić się najnowszym – prostą centralką alarmową. Układ został zaprojektowany i zbudowany z myślą o zamontowaniu go w mojej piwnicy, ale z pewnością mógłby posłużyć do ochrony innego...
dzieki, z tym bitem CKOPT faktycznie jest tak. Kwarc ruszył. jesli chodzi o linie uart/spi to mam ją ustawioną w stan wysoki/uart. Tak czy siak- transmisja przy odczycie rejestru "CR" jest zawsze synchroniczna, udało mi się odczytać te bity, złapałem je na oscyloskopie. bieżacy problem jest...
Stworzyłem szablon bitu(flagi), który ma za zadanie sterować konkretnym bitem wyjścia wejścia( i nie tylko). Niestety mam problem przy jego kompilacji - jak wrzucić do niego odpowiedni rejestr np. TIMSK ? template<volatile uint8_t * T, unsigned char bit> class cBit{ static void...
na podstawie kursu języka C Wskaźnik na unie i strukturę Podobnie, jak na każdą inna zmienna, wskaźnik może wskazywać także na unie lub strukturę. Oto przykład: typedef struct { int p1, p2; } Struktura; int main () { Struktura s = { 0, 0 }; Struktura...
Debug jest na JTAG ICE w AVR Studio Tak to przeanalizowałem i juz mi wyszło jakim cudem zaden z wysłanych 4 bajtów się nie starcił mimo tego ,ze odczytany był tylko jeden: Pierwszy odczytany bajt leci do mojej zmiennej, następnie drugi wpada do UDR, trzeci do rejestru przesuwnego, a czwarty...
Zawartość rejestru zostanie przepisana do zmiennej X I tym samym namieszać równo w programie pozycjonując tą zmienną w przestrzeń zmiennych użytkownika. Wystarczy, że adres &H60 będzie zajęty przez wcześniej zdefiniowaną zmienną (Bo przy AT bez OVERLAY kompilator przesunie sobie adres...
Witam, Chciałbym napisać w języku C++ program dla ATmegi8, który w zależności od stanu rejestru PIN (np. w moim przykładzie PINC) oraz określonych masek bitowych generuje określone wyjście (na port B). Wydaje mi się, że najlepszym rozwiązaniem będzie zastosowanie instrukcji warunkowej...
Tak jak obiecałem zrobiłem dzisiaj sobie już cyfry i literki: Wygląda to tak: tmf tablice zdefiniowałem z progmem , oraz zamieniłem select cas'y na przesuwanie bitów. Kod wygląda tak: 1)Czy da się za pomocą tego rejestru '595 sterować kolumnami (ja muszę podawać tam - a...
A czemu nie ma takiej możliwości. Napisz sobie kawałek kodu stwórz taki rejestr w DB. Uruchom PLCSim zrób download. A później wyciągnij wszystkie zmienne do VAT'a i obserwuj jak działa twój program.
Z tego co pamiętam, to rejestry R są 16-bitowe, natomiast D 32-bitowe. Co do alokacji pamięci, to jest to chyba ta sama przestrzeń pamięci, jedyn różnica, to prezntacja zmiennych.
Niby sobie poradziłem, ale nurtuje mnie to nieziemsko... Chcę sobie pomrugać diodą używając MRT (tzn. docelowo to będzie coś więcej, ale problem generalnie można do tego uprościć) Skonfigurowałem dziada, napisałem obsługę przerwania i niby jest ok. Ale! Jeśli procedura obsługi...
Jest liczba zapisana w pamięci do której adres jest w rejestrze np R3. Jak najlepiej wyciągnąć wartość tej liczby Poczytaj o adresowaniu pośrednim :wink: [syntax=x86asm] mov r0,#adres_zm... adresu zmiennej w pamięci RAM do "r0" mov a,(at)r0 ;zapis wartości...
Witam. W moim projekcie muszę skorzystać z trybu Fast PWM. Odwołuję się bezpośrednio do rejestru: [syntax=vbnet]TCCR0A = WGM00 , WGM01 'Fast PWM[/syntax] Kompilator zwraca błąd: 242 Wystąpił brak zgodności zmiennych Jeżeli wpiszę z jednym argumentem kompiluję się prawidłowo. [syntax=vbnet]TCCR0A...
Daawno nie miałem styczności z S7-200 i MicroWin-em, ale z tego co pamiętam, to nic nie stoi na przeszkodzie żeby odwoływać się do poszczególnych bitów zmiennej przesuwanej w rejestrze. Jeśli użyjesz przykładowo bajtu o adresie VB100, to jego trzeci bit licząc od najmłodszego możesz odczytać...
Mam enkodery których pozycja przechowywana jest w TCx0.CNT. Jak pewnie zrzucić tą 16 bitową wartość do zmiennej?. Z tego co czytam to bufor i jego flaga "aktualności" jest , ale nie do tego rejestru. Podglądając asm widzę że rozbija to na dwa pobrania po 8 bitów?
Czylil 10 bitow ADC. 8 bitów jest w OUT_H a dwa bity w OUT_L, proponuje przepisać odczyt z rejestrów OUT do zmiennej 16 bitowej.
Proponuję zacząć uczyć się "metodą rozumienia tego, co się pisze" oraz "pisania tego, co ma być zrobione". Obecnie Twój program wysyła wartość zmiennej leds, potem ustawia w niej jeden bit, potem drugi, a potem znów ją wysyła. Nigdy nie zerujesz żadnego bitu w tej zmiennej. Nie wysyłasz...
Witam, przechodziłem przez pełną konfigurację przetwornika analogowo-cyfrowego 950291 datasheet'a -> bilbioteka STM32L052 950294 . Poniżej załączam konfiguracje STM'a oraz funkcję mającą na celu zapisać wynik pomiaru do dwóch ośmio bitowych zmiennych. Debugger przez ST-Link po podłączeniu...
Temat popchnięty do przodu. 1. Bit stopu nie był ustawiony na 2. 2. Odczyt odbywa się faktycznie bez offsetu zgodnie z instrukcją z 0x07E - 126. Jak rozumiem z pod adresu 126 odczytuje tylko połowę rejestru LONG (16bitów) Druga połowa jest pod kolejnym adresem 127 - kolejne 16 bitów. Mam...
(at)Markos80 Masz na myśli taki sposób? Zastanawiam się jak inaczej to rozwiązać abym mógł jednocześnie czytać/zapisywać bity i rejestr. Bo jak w strukturze zdefiniuje dane do zapisu/odczytu jako WORD to potem nie za bardzo można już ich zmienić na BOOL, a wysłanie zmiennej...
Hard Fault jest podczas czytania czy podczas zapisu? Jakoś trudno mi uwierzyć w błąd podczas czytania. A próbowałeś rozbić operację na odczyt do zmiennej tymczasowej i zapis do rejestru? Czy jesteś pewien, że zapisywana wartość jest zgodna z parametrami pracy pamięci vs. częstotliwość...
Witam, Chciałem zrobić sobie prosty serwer Modbus TCP udostępniający kilka pomiarów . Arduino pinguje w sieci, raz da się podłączyć klientem modbusowym , po próbie odczytu rejestrów modbus przestaje działać .... Poniżej mój projekt : [syntax=c] #include <NewPing.h> #include...
Od niedawna zajmuje się programowaniem avr-ków w C (Linux + avr-gcc) więc jeżeli zadam trywialne pytanie to z góry przepraszam. Jednocześnie jednak mam nadzieje że otrzymam od bardziej doświadczonych kolegów odpowiedz :o . Program w C podzieliłem sobie na kawałki (moduły) i spreparowałem...
Postanowiłem napisać program do komunikacji z kompem przez rs232 lecz niemam pojęcia jak zapisac znienną long do eeproma 24c04 mam taki fragment kodu do odbioru danych z rs: Do if Scon.0 = 1 then input adres , dana ' adres byte , dana long Scon.0 = 0 end if call wr_eeprom(adres,dana) ..... sub...
Przywroc starsza kopie rejestru i zmienne wroca: F8 przy starcie i ostatnia znana dobra konfiguracja czy jakos podobnie lub wlacz konsole i scanreg /restore A same zmienne masz w rejestrze w: HKEY_LOCAL_MACHINE\SYSTEM\CurrentCon... Manager\Environment Niestety nie mam XP wiec...
I tu juz koniec z teorią. Da się zrobić 'przestrajanie' rezystancji w pewnym, dość ograniczonym zakresie. Da się również zlinearyzować FETa, choć zdecydowanie łatwiej zlinearyzować jFETa niż MOSFETa. I na tym koniec. Za duzy rozrzut parametrów, zbyt duża zależność parametrów od...
Liczby ujemne przechowywane są w zapisie uzupełnieniowym do dwóch. Procesor 'nie wie' czy liczba w rejestrze jest typu signed czy unsigned. Jeśli sprawdzałeś jej wartość używając np printf, to musisz explicite podać typ zmiennej, w szczgólności %d dla signed i %u dla unsigned.
To co niżej zasugeruje nie musi Ci pomóc ale spróbuj wykonać. Zmienną globalną zadeklaruj jako: static volatile DATACNT W ten sposób powiesz kompilatorowi aby ochronił jej stan przed przypadkową modyfikacją. Z problemem nie panowania nad wartością zmiennej globalnej sam biłem sie tracąc...
Balu:co to za problem wykonać 80k operacji if na procesorze, który wykonuje 16mln. operacji na sekundę? jesli posiadasz procesor, ktory operuje bezposrednio na kodzie C, to faktycznie... niemniej jednak, w zaleznosci od procesora oczywiscie, zwykly prosty if z JEDNYM prostym warunkiem rozwija sie...
Mam takie pytanie. Gdzie proponowali byście przechowywać jakąś wartość zmiennej tak by można było mieć do niej dostęp uruchamiając inny program lub kolejny raz ten sam. Zapis na dysk czy do rejestru (też zresztą dysk) odpada. Wartość ta ma istnieć jedynie do momentu wyłączenia komputera....
Usuń znaczek hash i nazwę zmiennej umieść w nawiasach klamrowych. Będzie odwołanie do pamięci, a nie ładowanie stałej. Oczywiście pisze o tym w pomocy, ale szukać się koledze nie chce. :bad-words: Można uzyskać dostęp do zmiennej umieszczając jej nazwę w nawiasach klamrowych...
PDC_TCR to rejestr ilości danych w bieżącym buforze, 16-bitowy licznik ilości danych do wysłania. Po transmisji danej , licznik jest automatycznie dekrementowany. Właśnie programuje EMAC, więc jeśli problem będzie się powtarzał przy innych rejestrach, napiszę.
Witam Mam taką funkcję: void FREQREG( int F_output) { int x=0; int *wsk_1; int zapisanie_MSB=0; //jeśli ta zmienne jest 1 to oznacza, że rejestr Freq MSB jest juz zapisany wsk_1=& Freq[3]; float y= F_output*10.32444; //wzór z datascheet...
Yeah, działa, dzięki za pomoc. Coraz bardziej zaczyna mi się podobać ten język. Jeszcze jedna rzecz w temacie. Podaję jako wskaźnik pierwszy element tablicy (o indeksie zero : tab C: int tablica[ 20 ]; void FunkcjaC( int* ); /* wywolanie */ FunkcjaC( tablica...
Najpierw przestudiuj co to są rejestry w ATMega32 i czym sterują.(z Atmela sciągnij). Gotowce z Bascoma (np. PWM) nie obsługują wszystkich trybów działania procesora. Co do C-nie wiem, ale wydaje mi się że rejestry trzeba obsługiwać "ręcznie"-ale też są gotowe programy np. na AVRFreaks-które...
... Ale jakby kolega wczytał się w moją wypowiedź, to wyszłoby jasno, że darowuję sobie sbit i chcę operować na porcie jako na rejestrze posługując się jego adresem a nie nazwą symboliczną. A adres może już ukrywać się w zmiennej, z której korzysta funkcja. Pozdrawiam Krzysiek Bruum....
Ja mam nadzieję, że problem leży po mojej stronie. Bo inaczej sytuacja jest niewesoła a termin trzyma... Oto kod: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 16000000UL // 16 MHz #include <util/delay.h> #define DATASIZE 16 #define MICROSTEPS 256 //to...
Bo to bardziej skomplikowane jest - ty chcesz od tyłu wprowadzić multitasking. A to nie takie proste. Albo zrób obsługę silnika na przerwaniach, a w programie głównym modyfikuj tylko flagi sterujące wykonaniem kodu w przerwaniu, albo zmień menu tak, aby wysyłało komunikaty do kolejki. Zawsze...