Możesz dodać -fno-strict-volatile-bitfields, żeby Ci tego warninga nie wyświetlał.
Witam, Proboje przeniesc kod z tutorialu ze strony: na atmege32. Jednak mam nastepujacy problem. Kompilator wyrzuca mi blad: [syntax=c]../main.c: In function 'change_menu': ../main.c:72: error: 'menu' undeclared (first use in this function) ../main.c:72: error: (Each undeclared identifier is...
Witam serdecznie! Natknąłem się na taki oto problem. Napisałem sobie funkcję, która służy do ustawiania rejestru Mach Control Register i wygląda tak: MCR ustawia jeszcze dodatkowo przerwanie dla Mach3 i reset dla Mach2. Czy ktoś z Was, szanowni Koledzy spotkał się już z takim...
Witajcie, mam problem nad którym siedzę juz kilka dni i zatrzymałem się nie wiedząc gdzie tkwi problem. Otóż chcę obsługiwać zegar RTC PCF8563 po I2C - czytać i zapisywać z niego dane (datę i czas). Projekt mam podzielony na kilka plików, całość pisana w Code Blocks 10.5 i kompilowana...
Jednak się da, bez konieczności tworzenia osobnych struktur i wpisywania nazw tych struktur w inicjalizacji innych struktur :) Nie wiem czy wszystkie kompilatory to zaakceptują.. typedef struct { u8 flags; // BTN_TRANSPARENT | BTN_TOGGLE | BTN_VISIBLE u16 y_size; ...
Jeśli struktura jest volatile to każde jej pole również ma taki atrybut. Swoją drogą, pomyśl czy nie przejść na C++ - nie chodzi mi tu o wykorzystanie obiektów, szablonów itd., ale samej składni języka, IMHO o wiele lepszej niż składnia C. Na wstępie odpadają te wszystkie typedefy...
Wrzucę tutaj rozwiązanie problemu , może ktoś tu jeszcze trafi :D Wystarczyło przypisać adresy funkcji do wskaźników : Dodano po 1 Masz rację . Myślałem trochę inaczej , że już sama nazwa wskaźnika jak funkcji na którą ma wskazywać przypisuje mu jej adres. Jest odwrotnie...
W kompilacie nie ma nic ciekawego: albo jest zapis do zmiennej (wtedy zakładam, że została potraktowana jako volatile ), albo nie ma nic (powrót z main do procedury "rozbiegowej") :) Nie chciałem jeszcze bardziej wydłużać postów wklejaniem listingów. A czy problem jednak nie leży w...
Ale z drugiej strony im więcej zmiennych typu volatile, tym gorsza optymalizacja. Dlatego, jeżeli wszystkie pola struktury są volatile, to można zdefiniować ją na dwa sposoby: z volatile zewnętrznym lub wewnętrznymi. Jeżeli jednak część z tych zmiennych nie jest typu volatile, to lepiej definiować...
Witam Chciałbym w programie skorzystać ze struktury z polami bitowymi: ..\irq.c(30): error: #70: incomplete type is not allowed Jak zakomentuję linijkę z przypisaniem sts.adc=1; w pliku irq.c, całość kompiluje się bez błędów...
Jacek o czym Ty piszesz. Volatile niczego nie chroni. Tylko mówi że zmienna moze być modyfikowana przez coś czego kompilator nie widzi i de facto oznacza ze musi odczytywać i zapisywać do pamięci używaną danę przed i po każdej operacji. Działa to tak samo dla każdego rodzaju danych...
Hej, mam następujący problem. Napisałem niewielką klasę opakowującą ADC1 dla STM32L4 (tak, piszę w C++ ;) ). Jako, że chciałbym aby była dość ogólna, wskaźnik do adc przechowuję jako pole Z trudem mogę sobie to wyobrazić. Na góralski rozsądek takie tworzenie zachodzi...
struct portb { unsigned DS:1; unsigned RW:1; unsigned AS:1; unsigned :2; unsigned LOAD:1; unsigned :1; unsigned CS:1; }; volatile struct portb* const Portb = (volatile struct portb*)&PORTB; Bez const kompilator nie ma pewności, że...
Witam, Potrzebuję zrobić sobie menu do sterownika silnika DC, aby było to menu łatwe do przenoszenia i edytowania między projektami postanowiłem je zrobić na strukturach. Tu pojawia się problem i od 3 dni nie mogę wpaść na to co źle robię. Oto wycinki kodu aby ułatwić zobrazowanie...
Mam następujący problem: dostaję ciąg znaków z rs'a, który zapisują do jednej zmiennej i chcę z tego ciągu wyciągnąć dwa podciągi i zapisać je do jednego wiersza tabeli struktur. Definicje: //przed main: #define UART_MAXBUFF 37 char uart_rx_buffer[UART_MAXBUFF+1]; ...
volatile uint8_t tab1[10]; tab1 jest wskaźnikiem z niejawnym modyfikatorem const do tablicy zmiennych typu uint8_t z modyfikatorem volatile Nie doczytałem wcześniej. Innymi słowy moje wcześniejsze próby rozbiły się o const, to było nie do przejścia... Dodano po 58...
AVE... Zmiana podziałała, dziękuję serdecznie. Musiałem jeszcze zmienić typ w funkcji SetCVD z bit na char, bo bit musi być albo global albo static. Const musi zostać, bo nie mam EEPROMu wbudowanego, więc zmieniam te wartości zapisując bezpośrednio do pamięci flash programu, dzięki...
Witam, Temat dotyczyć będzie warninga w WinAVR o treści: passing argument 1 of '<nazwa_funkcji>' discards qualifiers from pointer target type Do funkcji przekazuje zmienną typu volatile za pomocą referencji. struct struktura { volatile char x; } volatile...
No że mam w każdego typu strukturze jedno pole przeznaczone na semafor, potem wykonuję wyżej wypisane makro na tym polu. Dodano po 15 Jest, jest, rozkminiłem to, jednak dodanie modyfikatora volatile przy definicji pola rozwiązuje problem, wcześniej omyłkowo dodałem modyfikator do nie...
Mam taki (niezrozumiały dla mnie) przypadek: - wewnątrz procedury main() definiuję zmienną strukturalną beż żadnych modyfikatorów typu volatile, czy static; - programowo wypełniam jej pola wartościami; - z main() wywołuję inną procedurę zewnętrzną, do której przekazuję adres tej...
Grzybens Chwilowo odchodząc od głównych objawów - czy nie powinno tam gdzieś być jakiegoś oczekiwania na pusty bufor nadajnika? O ile dobrze pamiętam działanie symulatora w AVR Studio, to po wpisaniu wartości do rejestru UDR przez chwile pojawia się ona w podglądzie rejestrów, ale zaraz...
W moim przypadku to: volatile przycisk tablica_przyciskow[4] = { {.pin = KEY_UP}, {.pin = KEY_DOWN}, {.pin = KEY_OK}, {.pin = KEY_CANCEL} }; ... dzięki za pomoc.
No jak już się bawimy wskaźnikami.... [syntax=C] #define idLine 4 #define idText 5 [/syntax] [syntax=C] typedef struct _tText { u8 id; u8 *text; //pointer to text u8 fill; //fill s16 x,y; //position u16 rx,ry; //reference tColor color; //fade color start,stop u32 deffont:1; tFont...
I jeszcze jedna propozycja wykorzystania pól bitowych w przykładzie Electixa bez konieczności definiowania całych struktur bitowych: [syntax=c] #define bit_Field(var, bit, len) ((*(volatile struct{uint32_t:(bit)%32;uint32_t fld:len;}*)\ ((uint32_t*)&(var)+(bit)/3... var - nazwa zmiennej //...
Dzięki za pomoc. Skorzystałem z funkcji w core_cm3 [syntax=c]uint32_t __REV16(uint16_t value) { uint32_t result=0; __ASM volatile ("rev16 %0, %1" : "=r" (result) : "r" (value) ); return(result); }[/syntax] i wszystko działa już poprawnie. Z tym 8051 i AVR rzeczywiście nie korzystam...
Funkcje mają parametry, a to co do nich przekazujemy (konkretne wartości) to są argumenty. Nie żebym się czepiał, ale fajnie jest wiedzieć o czym ktoś do Ciebie mówi. Btw tworzysz wspaniałe opisy słowno-muzyczne, ale ja trochę ich nie kumam :) Jednak super by było gdybyś wspomagał...
Te twoje trzy wskaźniki uimeść w unii - bedziesz miał jeden wskaźnik, do którego odwołasz się przez pola unii. W sturktudrze można użyć volatile i można takiemu polu przypisać zmienną nie-volatile.
Jak to jest z atrybutem volatile dla struktur? Gdy struktura ma volatile to wszystko co się znajduje w strukturze jest volatile? Czy dodatkowo każdy element struktury trzeba oznaczać jako volatile? struct nazwa_struktury { uint8_t val1; ... volatile x; To mogę...
Trochę się naczytałem :) dużo ciekawych informacji piszecie, przyznam, że wielu rzeczy nie byłem świadom a tutaj dokładnie jest wszystko opisane. Teraz dla mnie wszystko jest jasne. Zrezygnowałem z wykonywania dostepu do pliku w przerwaniach i wszystkie operacje na pliku wykonuje w sposób liniowy...
Minęła strona dyskusji od kiedy zaglądałem, a Piotrus99 dalej nie rozumie różnicy pomiędzy stwierdzeniem "aby zmiennej volatile kompilator nie optymalizował do zmiennej rejestrowej" a "czy mogę utworzyć zmienną register volatile" pomijając fakt, że w obydwu kwestiach nie ma racji :-) ...
U mnie (Katowice) z DCF77 nie ma problemu, oczywiście zdarza się, że przez jakiś czas nie działa, ale przecież nie musi - wystarczy że złapie sygnał od czasu do czasu. Z tego co zauważyłem, to strasznie przeszkadza w odbiorze DCF77 komputer. Kiedy miałem zasilane układy przez USB to generalnie...
1. if'y po przekroczeniu 60 sekund / minut nie zwiększają o jeden, tylko ustawiają na jeden następną jednostkę (minutę / godzinę). Próbuję zgadnąć, czy tego chciałeś. Zerowanie w else mnie tez nie przekonuje, raczej w else po wojskowemu 'nie ma rozkazów, nic nie rób'. Nie wiem jaki był...
Witam! Mam problem z timerami w języku C (w moim projekcie) dlatego zwracam się do Was o pomoc. Napiszę od początku, żeby przedstawić o co mi chodzi. Zbudowałem kiedyś sterownik taśmy led RGB oparty na mikroprocesorze attiny2313, w którym za pomocą jednego przycisku zmieniam podstawowe...
Witajcie moi drodzy Przedstawię tutaj przykład użycia 32-bitowego mikrokontrolera PIC32MX250F128B w roli hosta USB obsługującego pendrive (zapisującego i odczytującego z niego dane). W temacie opiszę najpierw płytkę którą pod tego PICa zaprojektowałem, a potem przykładowe kody...
Motywacja Jeden ze znajomych poprosił mnie, aby taki śmieszny pad na USB (kształtem przypominający dżojstik od konsoli NES) przerobić tak, aby dało się go podpiąć właśnie do konsoli NES albo Pegasus. Kontroler ma tez dodatkowy bajer: kilka diod RGB, których kolor świecenia...
No właśnie cały czas wyświetlacz wyświetla mi 0. Wcześniej miałem 1000 ms opóźnienia ale to niczego nie zmieniało Dodano po 51 Podokładem trochę tych delay, ale wyniku na wyświetlaczu to nie zmieniło [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include...
Mam problem z uruchomieniem prostego programu na ATMEGA8. Mega jest podpięta z SN75176 (odpowiednik MAX485) i mam podłączone dwie takie płytki. Każda płytka ma przycisk i element wykonawczy (triak). Program ma za zadanie zbierać informacje z sieci (gdy wciśniemy przycisk na płytce B, powinien...
Z tym volatile w tym przypadku to pewne przegięcie, bo zarówno pola struktury (czemu nie sama struktura?), jak i zmienna o tym typie są volatile, co jest lekko bez sensu, acz nie jest błędem. Natomiast nie zgodzę się, że volatile nie powinno się definiować wewnątrz struktury. Jeśli dane pola...
Usunąłem poprzedni post. Zrobiłem tak: 1. Najnowszy sample ze strony chana 2. Usuwam ata.c, cfc.c cfmm.c 3. IoInit() usuwam porty E, F, G 4. Znowu porty E w pliku mmcbb.c (Bitbanging MMCv3/SDv1/SDv2 (in SPI mode) control module), usuwam cały plik, nie ma nigdzie odwołań do niego. 5. Edycja...
Sprawdziłem bibliotekę do JPEG, o której pisałem w pierwszym poście: [syntax=c]//1999 Cristi Cuturicu //#pragma hdrstop #include <stdio.h> #include <stdlib.h> #include <string.h> #include "datatype.h" #include "stm32f4xx.h" struct Parametry_JPG { char ile_pikseli_Vert_pola; char...
A spróbuj to: [syntax=c] /* Program do przetwarzania sygnału z 6 sygnałów 1-2ms (do sterowania serw modelarskich) na wypełnienie PWM. kwarc 11059200Hz procesor ATMega8 Wypełnienie PWM- 0 w okolicach sygnału 1.5ms Zwiększa się od 0 do max w zakresie 1.5-2ms Zwiększa się w zakresie...
Programowy PWM jest w nocie Atmela 136. Deklarują że obsłuży do 23 kanałów. Przerobiłem ten program- sterowanie jest z sygnałów serw- czyli sygnał 1-2ms jest przerabiany na PWM. Wklejam- ale ew. przeróbkę to zrób sam- albo "z małą pomocą przyjaciół". Bo ja- to po nowym roku. [syntax=c] /* ...
Witam wszystkich:D mam tak napisana strukturę w pliku main.c: struct TMenuItem{ volatile unsigned char tekst[15]; volatile unsigned char start_x; volatile unsigned char ID; volatile unsigned char Page; volatile unsigned char Up; volatile unsigned char Down; volatile unsigned char Start; volatile...
Witam, Mam pewien problem i nie bardzo pomysł na jego rozwiązanie. Mam program zegara i czujnikami dallas18b20 i wszystko fajnie działa. Potrzebowałem uruchomić dodatkowo przetwornik adc i zaczęły się schody. Gdy skonfigurowałem przetwornik program po dojściu do momentu inicjalizacji przetworika...
Witam , Kolejny problem C-beginners , Usiłuję rozsupłać dostęp do rejestrów GPIORx procesorów AVR, ponieważ nic zadowalającego nie wymyśliłem , pozwolę sobie tylko nazwać problem. Potrzebuję umieścić zmienne na portach GPIORx , aby móc wymusić / usilnie domagać się , od...
W poprzednich odcinkach wiel;e osób zwracało ci uwagę, że tłumaczysz starocie, w dodatku starocie, w któych jest masa błędów i merytorycznych i implementacyjnych. Proszę nie brać tych uwag do siebie - krytyka dotyczy autora artykułu, co wynika zapewne z faktu, że od jego napisania upłynęły...
Udało mi sie pójść krok dalej, robot przestał wariować, ale kiedy próbuje wysłać mu coś przez RSa, nic się nie dzieje. Ogólnie kiedy włączam robota zapala się lampka przy RS, która odpowiada wysyłanie, a kiedy podłączam kabel do RSa to zapala się też lampka od odbioru. Kod z robota: [syntax=c] #include...
Witam, Mam następujący problem z biblioteką HAL do zapisu danych w pamięci flash. Posiadam dwie tablice 160 elementowe tabX oraz tabY (typ int16). Chciałbym zapisać dane te w pamięci nieulotnej flash, a dokładnie w adresach 0x08080xxx oraz 0x08090xxx. Cały mój problem pojawia się przy...
Nie wiem po co się tak męczyć. Pamięć zewnętrzna jest zamapowana do tej samej przestrzeni, w której jest wewnętrzna pamięć ram. Można więc posiadać wskaźnik, który będzie wskazywał komórkę w wewnętrznej pamięci, a po przypisaniu innego adresu może wskazywać na zewnętrzną pamięć....
Poradnik spoko - zauważyłem lepszą przydatność wygenerowania pojedynczego pliku nagłówkowego z rejestrami, skrojonego na miarę, w postaci struktury unii, niżeli używanie wyciętych fragmentów pliku nagłówkowego. Niestety trzeba uważać przy tworzeniu takiego pliku nagłówkowego i pilnować...
Mam problem z inicjalizacją jednocześnie wyświetlacza LCD z Nokii 6610 oraz karty SD na mikrokontrolerze AT91SAM7X256. Inicjalizując każde z tych peryferiów osobno, działają bez zarzutów. Po wykonaniu dwóch inicjalizacji, jedną po drugiej, nie działa ani wyświetlacz ani karta. Pin NPCS z...
W zasadzie jedynie słuszne poziomy to 2, 3 i s. Jeżeli używasz funkcji _delay_ms() i _delay_us() to nie wolno Ci stosować poziomu optymalizacji mniejszego niż 2, w przeciwnym wypadku będziesz miał w 'ciasnych' pętlach opóźnienia obliczenia zmiennoprzecinkowe. Osobiście najczęściej stosuję...
Witam, Coś w moim kodzie powoduje, że po jakims czasie mój ARM się wiesza. W programie wykorzystuję między inny rzutowanie z tablicy unsigned char na short, int i float oraz na operację odwrotną z zmiennych typu shortm int i float tworzę tablicę unsigned char. I tu właśnie mam pytanie,...
Dziękuję koledze LordBlick, poprosiłem go o odblokowanie tematu, bo wydaje mi się, że mimo pozornej prostoty problemu warto się nad nim chwilę zastanowić. Zanim przejdę do odpowiedzi na post #3, powiem dwa słowa o makrodefinicjach. Wiele osób z nich chętnie korzysta, w pokazanym wyżej przykładzie...
Witam Po wielodniowym pisaniu oprogramowania mini sterownika do akwarium napotkałem dziwny problem, mianowicie. Utworzone menu zawierało 94 pozycje razem z podmenu zdefiniowane strukturze. Przechodzenie pomiędzy stanami realizowane jest enkoderem obsługiwanym w pętli głównej programi i ładnie...
Różnice rzędu 2 instrukcji jakoś do mnie w tym przypadku nie trafiają. Czyli różnice czterech czy sześciu bajtów flasha (zakładam że na AVR jedna instrukcja ma 2 bajty) do Ciebie nie trafiają, ale różnica jednego bajta w RAM już trafia? Widzisz niekonsekwencję? Ja tu data race...
no dobra, ale te wszystkie volatile uint8_t * volatile niezbyt dobrze wygladaja /; wygladaja wrecz lewo... Zrób strukturę, będzie wyglądało lepiej... moze ((noinline))? czy wlasnie tego slowka szukam? <: Można, bo w tym przypadku rozwijanie funkcji _eeprom_save_block() to nadoptymalizacja,...
Zakładam, że masz prawidłowo podłączony układ(np. echo działa) oraz odblokowany dostęp do portów com. Mniej więcej chyba o to chodzi. Kod PC z VisualStudio C#. Atmega8: [syntax=c]#include <avr/interrupt.h> volatile uint8_t USART_BUF[5] = {0x00, 0x00, 0x00, 0x00, 0x00}; volatile...
Jest taka nota Atmela 136. Jest tam opisane jak zrobić wiele kanałów PWM z pomocą jednego timera 8bit. Zrobiłem to na ATMega8- sterowanie sygnałem takim jak dla serw 1-2ms. Plik .c [syntax=c] //* \section OA Original author //* Andy Gayne is the original author of this application note. ...
robisz w main: volatile int i=0; w stm32f4xx_it.h (czy jak tam się nazywa ten header z funkcjami przerwań): extern volatile int i; Zrobiłem jak kazałeś Struktura projektu została wygenerowana przez Atollic'a. To, że z błędu nic nie wynika to właśnie mój problem. Z tego co...
Cześć, próbuję zdefiniować sobie struktury, które pozwolą na dostęp do pamięci USB w bardziej cywilizowany sposób. Mniej więcej coś takiego: [syntax=c]#include <cstdint> #include <new> struct BufferDescriptionTableEntry { volatile uint16_t addr; volatile uint16_t count; }...
Czy ja dobrze widze F0xx tez ma wsparcie? Tak, już od dosyć dawna, bo od wersji 0.2.0 (maj 2016). Już kompiluje najnowszego bleeding edge, a w weekend pierwsza próba odpalenia blinking LED na Distortos. Jakbyś natrafił na jakieś problemy - a wiadomo że zawsze się na jakieś natrafia...
Witam, dzisiaj miałem czas na zgranie kodu i wyrzucenie z niego tego co nie dotyczy tematu: Dodano po 7 Przepraszam za dziwne znaki w komentarzach ale przerzucałem z Windowsa na Linuxa i nie konwertowałem kodowania. Będę wdzięczny za pomoc. Sławek
Witajcie moi drodzy Oto druga część mojego praktycznego tutoriala dla ośmiobitowego mikrokontrolera PIC18F2550 od Microchipa i programatora SDCC . W tym temacie omówię podstawowe operacje cyfrowego IO na prostych przykładach. Spis części (osobnych tematów) tutoriala Tutorial...
Czy jest gdzies opis formatu pliku REL ? No właśnie nie widzę opisu. *.rel jest skompilowanym plikiem asemblera do linkowania. Można uprościć sobie życie i zapisywać obraz w postaci pliku *.s i kazać kompilować do *.rel samemu SDCC. W ten sposób strzeżemy się przed ewentualną...
Witam! Mam problem z uruchomieniem modułów radiowych RFM12 pod STM32. Uruchomiłem je bez problemu na ATmegach8 korzystając z funkcji opisanych w [url=]tym poście. Jest to programowy SPI i przepisałem funkcje od nadajnika tworząc coś takiego: [syntax=c] #include "stm32f10x.h" #include "GLCD.h" #include...
Trawić w tym kodzie nie ma zbytnio co: struktura jest tylko żeby nie trzeba było za każdym razem przekazywać oddzielnie 3 wskaźników i maski bitu. Aby uzyskać dostęp do rejestru, są tylko dwa sposoby: statyczny kiedy kompilator zna adres rejestru i może go wkompilować do kodu, albo dynamiczny,...
Michałko twórz przykład wydaje się być pomocny. Jeśli chce te zmienne obrabiać w main to mam je zdefiniować jako extern voliatile? W main ma być widoczna struktura Settings, w nagłówku masz juz przykład [syntax=c]extern settings_t Settings; [/syntax] i gdzieś w kodzie musi wtedy...
Witam Zmagam się z akcelerometrem ADXL345 + STM32F103. Połączenie po SPI. Otrzymuję na wyjściu wartość przyśpieszenia w kodzie U2. Zapisana jest na 13 bitach, w dwóch rejestrach 8 bitowych. Po odebraniu najbardziej znaczące przesuwam << 8 i łączę z mniej znaczącymi. Problem polega...
Linijka : [syntax=c]volatile struct st_can __evenaccess * can_block_p;[/syntax] oznacza definicję wskaźnika o nazwie can_block_p, na strukturę typu st_can. Linijka: [syntax=c]can_block... = (struct st_can __evenaccess *) 0x90200;[/syntax] inicjalizuje wskaźnik can_block_p adresem 0x90200...
Autor zastanawiał się, jak zaimplementować w projekcie interfejs bardziej elegancki, niż zwykle stosowane przyciski. Częściowo zainspirowany materiałami wideo umieszczonymi przez D. Jones'a na stronie EEVBlog, postanowił zainteresować się pojemnościowymi przyciskami dotykowymi. Zwykle...
Witam, pozwolę sobie na wykopaliska archeologiczne, ale myślę, że to może się jeszcze komuś przydać. Większość przypadków Hard Fault podczas działania DMA w STM32F1 powstaje przez błędną konfigurację kanału DMA przy użyciu biblioteki standardowej. Błędny fragment kodu: hlayer.c:167:43:...
Pomogło dodanie volatile w strukturze. Dzięki, teraz wszystko działa jak należy. [syntax=c]struct GLOBAL_FLAGS //brief Flags for status information { //! True when PID control loop should run one time volatile uint8_t pidTimer:1; volatile uint8_t dummy:7; } gFlags = {0, 0};[/syntax] Zastanawiam...
Jechałem debugerem i nie wchodziło w SysTick_Handler... Kod poniżej: [syntax=c] /****************... * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include...
Witam, skonstruowalem zegar widmowy, udalo mi sie zaprogramowac napis (wyglada przyzwoicie) ale pojawil sie problem, wyswietla mi sie, tzn gdy wlaczam diody na wyliczonych pozycjach (do 60) jest okej, natomiast gdy probuje wyswietlic cos na wyzszych katach (powyzej 60) jest problem i nie wyswietla sie...
xSemafor jest wskaźnikiem na strukturę danych wykorzystywaną przez funkcje obsługi smafora i przez RTOSa. Sama funkcja xSemaphoreCreateMutex(); tworzy tą strukturę na stercie i "rejestruje" ją w RTOSie. Scheduler dzięki tej strukturze wie czy dany task ma być blokowany czy może przydzielić...
Otóż poniżej przesyłam cały plik main.c . Wypełniając tę strukturę sugerowałem się już istniejącą w funkcji CAN_InitMessage(); TXMsg oraz plikiem znalezionym w sieci Także DZIAŁA! :D Dzięki między innymi Waszej cennej pomocy ! Oczywiście punkty lecą do Was! Dodano...
Zrobilem faktycznie identyczny test pod zwyklym C (armcc 5.04) i jak na zlosc nie udaje mi sie powtorzyc zjawiska ktore spotkalem w prawie gotowym juz projekcie. A tu faktycznie kompilator uzywa memcpy. Czemu nie robił tego w tamtym projekcie - nie mam pojęcia. No i mniej więcej coś się okazuje: ...
Adresy urządzeń najlepiej zapisywać jako stałe preprocesora, a makra dostępu do rejestrów opierać właśnie o ten jeden adres (ewentualnie stworzyć strukturę i zrobić makro lokujące ją na stałe w przestrzeni).. coś w rodzaju: #define BASEADDR 0xFF00 #define rtl_io8(addr) (*(volatile...
Czytaj ze zrozumieniem. Opuściłeś sekcję rejestrów wyjściowych, która tutaj powinna być pusta: asm volatile("sbi %0, 0x07" : : "I" (_SFR_IO_ADDR(PORTB))... Zresztą po co komu taka wstawka? Przy optymalizacji -Os lub -O2 avr-gcc generuje dokładnie...
Wracając do przerwań, zgodnie z obietnicą wrzucam przykładowe definicje interfejsu klas opartych na przerwaniach. Pierwsza obsługuje timer i umożliwia wywoływanie z opóźnieniem lub cyklicznie podanej funkcji, lub wywoływanie jakiejś akcji: 1 #ifndef _TMFTIMER_H 2 #define _TMFTIMER_H ...
6 - każdą (debilną) funkcję jak ją nazwałeś da radę przerobić na normalną 7 - szukaj błędu po #endif zgodnie z komunikatem a nie wewnątrz warunku 8 - naucz się rzutowania typów bo w tym przypadku specyfikator volatile nieco zmienia traktowanie zmiennej slowo0. Poza tym jak używasz...
Źle rozumiesz pojęcie atomowości przy dostępie do zmiennej. Instrukcja "v--" składa się z dwóch odwołań do zmiennej v: odczytu oraz zapisu. Dostęp jest atomowy, nie cała instrukcja zawierająca ten dostęp. To co zacytowałeś mówi mniej więcej tyle, że odczytując zmienną mającą 4 bajty...
Witam, przewertowałem już kilka tematów i specyfikację avr-gcc ale nie znalazłem odpowiedzi na moje pytanie. Mianowice czy da się w jakiś sposób zrobić aby zmienna (nie wskaźnik) w strukturze [syntax=c] struct _A { volatile unsigned char pa; }; [/syntax] odpowiadała adresowi...
Jeśli chcesz gotowego rozwiązania to napiszę jak sam robię takie systemy: Deklaruję pewną strukturę globalną, koniecznie volatile, w której umieszczam flagi w zależności od tego ile ich potrzebuję, np.: [syntax=c]volatile struct sZmienna { unsigned char Pomiar :1; unsigned char Timer...
Witam Kolegów Przepraszam, że przez kilka dni nie zabierałem głosu w temacie, ale bylo to niezależne ode mnie (awaria neta). A więc tak: - Po pierwsze chcę serdecznie podziękować Koledze excray - wdrożyłem przytoczone przez Ciebie rozwiązanie i jestem zachwycony. Oczywiście przeniosłem...
Witam. Na wstępie przepraszam za może głupie pytanie i problem, ale jestem początkujący. Chciałbym móc sterować jasnością świecenia diody LED za pomocą PWM. W późniejszych próbach różne jasności ustawić pod różne przyciski itp, a na końcu sterować programowo. Program nie jest...
Witam Kolegów, Od jakiegoś czasu próbuję uruchomić prosty odtwarzacz MP3 oparty o dekoder STA013 oraz kartę SD. Dekoder ten skonfigurowany został tak by na swoim wyprowadzeniu DATA_REQ wystawiał stan niski, gdy jego bufor wewnętrzny jest w stanie przyjmować dane. AVR odczytuje dane z karty...
Tam kod pomieszałem i tego Bank1_SRAM3_ADDR niema: Dodano po 7 Mógł byś pokazać jeszcze jak odwołujesz się do pamięci w trakcie zapisu i odczytu ? Dodano po 24 Coś się chyba rozsynchronizowuje, ponieważ przy takim kodzie: Dodano po 25 Dla testu ustawiłem tak: [syntax=c] FSMC_Bank1->BTCR[1]...
Wstawiam kod obsługi odbioru danych w przerwaniu, gdzie odebrane dane są zapisywane do bufora a po zapełnieniu bufora do zewnętrznej pamięci, w tym przypadku na karte SD, docelowo do pamięci Flash - może komuś się przyda. [syntax=c] #include "LPC17xx.h" #include "lpc17xx_systick.h" #include...
Spróbowałem Twojego pomysłu z NOLOAD: [syntax=c] ._heap (NOLOAD): { . = ALIGN(4); __heap_start = .; PROVIDE(__heap_start = __heap_start); . += __heap_size; . = ALIGN(4); __heap_end = .; PROVIDE(__heap_end = __heap_end); } > sdram ...
Moduły Wi-Fi Atmel WINC1500 dedykowane dla aplikacji IoT cz. II. W poprzednim odcinku Czujnik temperatury wysyłający dane z wykorzystaniem WiFi. Konfigurację sprzętową pozostawiamy bez zmian, podłączony pozostaje moduł WINC1500 oraz I/O1. W pliku demo.c w funkcji demo_start()...
Witam, otóż zasilam owy wyświetlacz napięciem ±3.3V, a także stany logiczne są na tym poziomie. Pin kontrastu jest podpięty bezpośrednio do masy, kontrast wizualnie wydaje się być dobrany idealnie. I problem w tym, że pixele bardzo wolno się zapalają.(wyszło mi ok. ~300ms na...
Witam, potrzebny jest mi generator fali PWM o zmiennej częstotliwości i wypełnieniu. Górna częstotliwość wynosi 150kHz, dolna 10kHz. W programie wykorzystuję dwa kanały adc (tj. adc1, adc2) oraz jedno wyjście dla wspomnianej fali (tj. PC5). Atmega8 pracuje z zewnętrznym kwarcem 16MHz. Górna...
co prawda do ARM ale przerobić sobie do użycia na AVR to nie problem. Biblioteka z callbackami i 5 stanami key-up key-down, click, długi click i double click. [syntax=c] static volatile BUTTON_Status_T Buttons[NKEYS]; [/syntax] Volatile dla całej tablicy struktur. To już świadczy o kiepskiej...
Witajcie, zapraszam na relację z konstrukcji zegara na PIC18F2550 napisaną w formie tutoriala, wszystko krok po kroku. Pokażę tu jak i z czego tworzyłem prosty projekt DIY na prośbę jednego z czytelników. Wykorzystamy tu wyświetlacze 7-segmentowe, rejestr przesuwny, obsłużymy przyciski...
I jeszcze jedno czy mógłby ktoś po ludzku wyjasnić co oznacza "pamięć o dostępie swobodnym" To znaczy, że masz dowolną kolejność dostępu do danych (np. możesz czytać kolejno spod adresów 1, 6, 2, 9, 10, 3 , a nie tylko kolejne 1,2,3,4,5 lub 8,9,10,11). Nazwa powstała dla odróżniena...
Cześć Musisz zdefiniować parę struktur - ich deklaracje znajdziesz w pliku "usb.h". Parametr o który pytasz powinien być wskaźnikiem do struktury : //------------------------------------... \ingroup usb_api_struct //! \brief Main USB structure...
Nie do końca umiem wyjaśnić, dlaczego C++ różni się tutaj od C, ale mam inną propozycję, rodem z ANSI C :) Przykładowy kod można przepisać: #include <stddef.h> typedef struct { int first; int second; int third; } type_t; #define ADDRESS 0x12345678 const...
Powracam z nowym pomysłem, którym są template'y Może na wstępie napiszę po co mi to w ogóle jest. Otóż mam taką fanaberię, żeby stworzyć "framework" do ARMów w C++. Wszystko byłoby fajnie, gdyby nie trudności z przechowywaniem danych w pamięci FLASH. Otóż taka na przykład klasa...
Może wystarczy utworzyć dwie funkcje operujące na tablicy bajtów: pierwsza pobierająca konkretny bit, druga do wymuszenia wartości konkretnego bitu: uint8_t getbit(const uint8_t* arr, uint8_t bitnum) { uint8_t mask = 1; if(bitnum & 2) mask <<= 2; if(bitnum...
Witam Mam problem z rozszyfrowaniem działania tego kodu: typedef struct pojedyncze_bity { unsigned char bit0: 1; unsigned char bit1: 1; unsigned char bit2: 1; unsigned char bit3: 1; unsigned char bit4: 1; unsigned char bit5: 1; unsigned char bit6:...
Tylko już teraz konkretne pytanie czy docelowy arkusz (struktura arkuszy i układ wierszy i kolumn) jest taki jak w przesłanym przez ciebie załączniku. Bo już w makro trzeba określać konkretnie miejsca docelowe. Nie, nie jest taka sama struktura. Myślałem o makro, które "wprowadza" nową...
Jeżeli chcesz koniecznie koniecznie wykorzystać metodę, o której pisał tmf, możesz zrobić tak: [syntax=c] typedef struct _PortBits { unsigned b0 : 1; unsigned b1 : 1; unsigned b2 : 1; unsigned b3 : 1; unsigned b4 : 1; unsigned b5 : 1; unsigned...
Witam! Mam troche amatorskie pytanie, ale nie mogę się połapać co robię nie tak.. Miałem swój działający program kompilował się normalnie, ale gdy zrobiłem sobie make clean i chciałem go na nowo skompilować za pomocą make, to już przestał się kompilować :shocked!:, czego nie rozumiem...
Nie wiem czy to ma znaczenie ale masz trochę inną sekwencję niż w dokumentacji 6. When using the DMA mode - Configure the DMA using DMA_Init() function - Active the needed channel Request using USART_DMACmd() function 7. Enable the USART using the USART_Cmd() function. 8....
Dodałem konfiguracje pinu ale nadal brak zmiany stanu. Teraz w main mam tak: [syntax=c] int main(void) { volatile static int i = 0 ; PWM_TIMERCFG_Type PWM_config; PWM_MATCHCFG_Type PWM_matchcfg; PINSEL_CFG_Type PinCfg; //inicjalizacja struktury PWM_config PWM_config.PrescaleOption=...
Faktycznie, temat podlinkowany przez Badmaneq opisuje problem identyczny z moim. Dodałem (a przynajmniej tak mi się wydaje) CMSIS do przestrzeni roboczej, i próbuje kompilować poniższy kod: Może projekt źle utworzyłem? Tzn nie widzi on folderów które są nad nim w project explorerze? Start...
(at)Piotrus_999 To nie Ty czasem stosujesz volatile dla tablic struktur? Chciałbym zaznaczyć, że taki zabieg również generuje średnio wydajny program. Bo niby jaką wartość merytoryczną niesie wypowiedź typu: No właśnie to było dziwne bo w strukturach packed nie było :). A kto włącza...
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ć,...
Kod który cytuję, nie znaczy to, ze go pochwalam Dodano po 1 W ogóle to chyba użycie samej wartości liczbowej pozyskanej ze wskaźnika jest niezdefinowanym zachowaniem albo przynajmniej specyficzne dla platformy. Głos rozsądku. Myślę że my tu pracowicie rozwiązujemy jaki Problem...
ESP32 nie posiada pamięci EEPROM. Zaproponuj inne rozwiązanie. Ewentualne kody źródłowe prezentuj z wykorzystaniem tylko ESP-IDF. Rzeczywiście, ESP32 nie posiada pamięci EEPROM, dlatego należy poszukać alternatywnych rozwiązań. Jednym ze sposobów jest wykorzystanie pamięci NVS (Non-Volatile...
Podczas przeprowadzania procedury POST (Power On Self Test) komputer wykrył zmiany zawartości pamięci NVRAM w stosunku do ostatnio zapisanego stanu. Pamięć NVRAM (Non-Volatile Random Access Memory) stanowi część struktury BIOS-u i gromadzi informacje, które w żadnym wypadku nie mogą ulec utracie...
Ja to robię tak: //definicja tablicy bajtów, na wskaźniki bitowe u08 M[ILOSC_IO]; u08 I[ILOSC_IO]; u08 Q[ILOSC_IO]; //definicja struktury bitowej typedef struct { u08 Bit0: 1; u08 Bit1: 1; u08 Bit2: 1; u08 Bit3: 1; u08 Bit4: 1; u08...
Ja stosuję coś takiego: //definicja tablicy bajtów, na wskaźniki bitowe u08 M[ILOSC_IO]; //definicja struktury bitowej typedef struct { u08 Bit0: 1; u08 Bit1: 1; u08 Bit2: 1; u08 Bit3: 1; u08 Bit4: 1; u08 Bit5: 1; u08 Bit6: 1; u08 Bit7:...
Witam. Bardzo was proszę o podawanie stron internetowych w których znalazłbym odpowiedzi do tych pytań: Przesłanki do konstrukcji i stosowania. języki w programowania. Wymagania dla JP. Panorama JP. Definicja JP. Elementy przetwarzania kodu źródłowego. C. Bibliografia. Leksy...
nie jestem pewny czy dobrze ustawilem bo w C18 nie ma takiej struktury jak CONFIG3H , zrobilem tak #define CONFIG3H *((volatile unsigned int *) 0x300005) ; a pozniej CONFIG3H &= 0b11111101; jesli to jest OK to nic nie dało :(. Tylko ze inne piny ktore moga byc takze jako...
Witam, mam dwa pliki projektu w C: interrupt. i main.c (dla uproszczenia). interrupt.c: static volatile TFrame Frame ={0}; SIGNAL (SIG_INTERRUPT0) { (...) //m.in. zmienia sie struktura Frame } main.c: extern TFrame Frame; void main...
Tego rodzaju kod najprościej Ci będzie opisać za pomocą automatu, może kod nie będzie aż tak szybki, ale na pewno będzie się go dało zrozumieć :) setjmp/longjmp też może być, ale to działa raz (tj. dla jednego przerwania), struktura sigjmp_buf zajmuje 23/24 bajty na AVR a zapamietanie/wykonanie...
basemodule.h typedef struct { uint8_t blockParam; uint8_t signedMove; uint32_t deviceInitialAdress; }glob; uin... returnBlockParam(void); basem... static glob globalVariables; uint8_t returnBlockParam(void) { ...
Tym lepiej. EDIT. No to tak. Chcę w końcu odpalić ten zapis do FLASHa. Jako że sam zapis nie działa, to chciałem uruchomić przynajmniej inne mające współdziałać z tym zapisem rzeczy. No więc jeden sektor chcę przeznaczyć na ustawienia. Wybrałem ostatni, czyli ten od 0x0007D000...
Makrosik: masz racje, moje niedopatrzenie. Rzucilem okiem na przyklad nie patrzac na dokladna realizacje. Niemniej twoj przyklad jest niezyciowy, bo powoduje gubienie przerwan - jesli licznik jest rowny 0 i nastapi kolejne przerwanie to nie wplynie to na licznilk. Takze powinna byc raczej inkrementacja...
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...
Witam, Jestem w trakcie przerabiania kursu z EdW Pracuje na zestawie startowym ZL3AVR Zamieszczam kod programu: //////////////////////////////////////... main.c - testowanie zaawansowanej obsługi alfanumerycznego wyświetlacza...
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: Tutaj zamieszczam kod programu po moich poprawkach: ...
Kolego Bartolini1 mi się chce zawsze... :-D . Tylko mała dygresja. Nie traktuj poniższego jako gotowy program. Choćby sprawa makr do uruchamiania przerwań. Jak wiemy możliwa jest do realizacji na wiele sposobów. Tutaj chodzi o samą idee i płynące z niej pożytki. Program piszę z głowy...
W pliku LPC1768.h masz taką definicję: #define CCR (*(volatile unsigned char *)0x40024008) w pliku core_cm3.h masz taką linijkę: typedef struct { ... __IO uint32_t CCR; /*!< Configuration Control Register */ ... } SCB_Type;...
Nie wiem, ale u mnie w symulatorze AVR Studio, po dodaniu volatile do struktury Clock, Twój kod działa prawidłowo. Na PORTB przesuwa się ładnie stan niski w kólko po młodszych czterech bitach, na PORTD pojawiają się kolejno kody poszczególnych cyfr, a sekundy i minuty odliczane są prawidłowo. Bez...
Grupa studentów Uniwersytetu Kalifornijskiego w San Diego jest bliska zaprezentowaniu pierwszego na świecie zmiennofazowego dysku SSD opartego o system przechowywania danych, zwany 'Moneta'. Już w tej chwili prototypowy dysk jest do siedmiu razy szybszy od obecnych dysków SSD . Moneta korzysta...
Odnośnie czujników to tak jak pisali przedmówcy żyroskop jest najrozsądniejszy do zapewnienia krótkookresowej stabilności ruchu we wszystkich osiach. Niestety żyroskop ma dryft, który w dłuższym czasie będzie zakrzywiał trajektorię ruchu. Dryft kasuje się filtrami łączącymi dane z dwu...
mirekk36 - póki co, może obejdzie się bez angażowania Twojego czasu na analize moich krzaczków ;) Problem występuje także wtedy, gdy wyłączę podświetlenie (w opcjach ustawię na 0). Więc (byćmoże prądożerne) podświetlenie lcd nie jest przyczyną. Po założeniu loga na RSie doszedłem...
Wlasnie piszę ISR(ADC_vect) i czytam o calkowaniu wiec mysle że za niedlugo wrzucę częśc kodu. Dodano po 59 Napisalem początek przerwania dla ADC przy 128 probkach + calkowanie. Czy dobry kierunek obrałem? Dodano po 2 Dodaje calość tego co wykonalem main.c [syntax=c]int...
Tak działa: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> //! Pin mappings #define CHMAX 6 // maximum number of PWM channels #define PWMDEFAULT 0x10 // default PWM value at start up for all channels #define CH0_CLEAR (pinlevelC &= ~(1 << PC0)) //...
Witam Poszukiwałem rozwiązania mojego problemu już po forum ale nie znalazłem rozwiązania, a problem wydaje mi się dosyć prozaiczny aczkolwiek nie umiem go samodzielnie rozwikłać. Mianowicie posiadam w programie prostą strukturę zadeklarowaną jako: [syntax=cpp] struct godzina { uint8_t...
Dla Twojej wiadomości - extern nie deklaruje zmiennej jako zewnętrznej, tylko informuje kompilator, że taka zmienna występuje w innej jednostce kompilacji (innym pliku) i będzie widoczna dopiero po etapie linkowania. Każdy plik jest kompilowany oddzielnie, więc kompilator nie wie, że coś takiego...
Struktura ma w pliku stm32f4xx_rcc.h , jest to systemowy plik płytki. [syntax=c] typedef struct { uint32_t SYSCLK_Frequency; /*!< SYSCLK clock frequency expressed in Hz */ uint32_t HCLK_Frequency; /*!< HCLK clock frequency expressed in Hz */ uint32_t PCLK1_Frequency; /*!<...
Jeśli ktoś ma jeszcze jakieś uwagi w zakresie tzw. dobrych praktyk programistycznych w tym temacie, to chętnie poczytam :-) To wrócę do moich poprzednich propozycji. Compile-Time Assertions może wyglądać tak, liczne przykłady zastosowania w sieci: [syntax=c]#define compile_time_assert_not_equal(msg,...
jedyne co mogę jeszcze dołożyć to definicja struktury [syntax=c] struct connections { uint8_t detect : 3; //nr. detektora uint8_t triac : 3; //nr. triaka uint8_t setFlag : 2; //znacznik ustawienia fazy }; // zmienna connections ma zapisane w sobie // kolejności występowania...
Cześć, Mam taki problem z AT91SAM7256. Mój kod przy optymalizacji=0, zajmuje 44280Kb. Wszystko działa poprawnie. Jeśli dodam do kodu taką linijkę (kod zajmuje 44372Kb): config |= (1 << 13) | (5 << 10) | (7 <<3); (zmienna config jest w strukturze i jest typu volatile...
Witam! Procesor ziała z wewnętrznym oscylatorem 8MHz. Cały mój problem zawarłem w temacie, więc po prostu zaprezentuję kod, ew. wyjaśnienia pod kodem. Struktura danych dla RC5: [syntax=c]volatile struct rc5_state_t { uint16_t ref_time; char code[14]; uint8_t code_count; char...
Witam, Konfiguracja projektu oparta o stm32_blink_led autorstwa Freddie Chopin. Układ STM32F103. Uruchomiłem proste przerwanie z UARTa żeby sterować przepływem programu podczas testów. Problemem jest to wywołanie funkcji z przerwania: typedef struct { u8 print_test_1; u8...
Kurs: C mamy typy: -podstawowe: typy znakowe, całkowite i rzeczywiste -pochodne: wskaźnikowe, tablice, struktury, unie. Typy i zmienne całkowite Rozmiary zmiennych danego typu Użycie powyższych typów w połączeniu z signed, unsigneddaje, short i long...
To tak nie jest. Po pierwsze - stosując filtr górno-przepustowy nie zlikwidujesz składowej stałej grawitacji. Zgodnie z twoją logiką jeżeli zostawisz akcelerometr nieruchomo i zastosujesz ten filtr to akcelerometr ma wskazywać około 0 ? - tak nie będzie. W przypadku układu różniczkującego...
Mam problem z wathdog – nie wybudza. Krotki program na AVR Atmego328P zdaje się pracowac poprawnie, bo prad na 4sekundy spada z 6mA do 2,5mA by znowu wzrosnac. [syntax=c] #include <avr/sleep.h> #include <avr/power.h> volatile uint8_t deep_seconds_left; void setup() { setupWDT(); } void...
Pola tej struktury są modyfikowane w przerwaniu więc moim zdaniem volatile jest konieczne. Volatile jest konieczne tylko i wyłącznie jeśli pola struktury modyfikowane są (w nieuporządkowany sposób) w przerwaniu _i_ w kodzie głównym. Jeśli TYLKO w przerwaniu to nie ma takiej potrzeby. Jeśli...
Walczę od pół godziny z pojawieniem się transmisji na porcie szeregowym, wymłodzilem taki kod [syntax=c] #ifdef __USE_CMSIS #include "LPC17xx.h" #endif #include <cr_section_macros.h> #include "lpc17xx_uart.h" int main(void) { volatile static int i = 0 ; UART_CFG_Type...
Może są inne błędy, ale: [syntax=c]volatile struct tm* t = 0;[/syntax] raczej nie wróży nic dobrego. t będzie wskazywało na komórkę pamięci o adresie 0 - rejestr R0 mikrokontrolera. Jeśli używasz wskaźników to musisz sobie przydzielić pamięć na strukturę na którą wskazują.
Witam Chcę zwiększać minuty na moim RTC DS1307 odczytywanym na wyświetlaczu LCD za pomocą przycisku, godziny zostawiam sobie na później. Co udało mi się zrobić: Ustawiam Arduino w trybie SLEEP_MODE_PWR_DOWN, z wybudzaniem co 60 sekund, razem z możliwym wybudzeniem w dowolnym momencie za...
To zamiast RTC.CNT wpisz tylko RTC, wtedy pojawi ci się znacznik, że jest to struktura (taki plusik) i będziesz mógł ją rozwinąć, obserwując wartości jej pól. Niewykluczone, że zadziała też RTC_CNT. Właśnie niestety nie działa. Zarówno wpisanie RTC, RTC_CNT czy PMIC_CTRL w oknie...
Wpisałem asmem z przyzwyczajenia. Co do przepełnienia stosu to niemożliwe gdyż wszystko działa tylko ta funkcja umiera. Użycie wskaźnika to ze względu na to, iż szybciej się przerabia kod na wiele struktur(urządzeń) Zmieniłem już na bezwskaźnikowe z dostępem przez '.' To co mówiłem...