obiekt volatile

Znaleziono około 65 wyników dla: obiekt volatile
  • AVR C++ - Deklaracja obiektów globalnych bez użycia volatile

    Nie ma żadnej potrzeby aby Twój obiekt był volatile. Edit: Powinieneś się zaznajomić z tym __dlaczego__ zmienne/obiekty deklaruje się z atrybutem volatile. Bardzo często słowo kluczowe na v jest nadużywane. W szczególności na tym forum.

    Mikrokontrolery   21 Lut 2016 22:33 Odpowiedzi: 15    Wyświetleń: 1290
  • Ustawianie kilku pinów mikrokontrolera jako jedno słowo - jak to zrobić? [AVR, STM32]

    w AVR pod adresem 0x06 właśnie znajduje się ten obiekt "volatile". Zapis do niego powoduje zmiany stanu w innym miejscu. Prawie ale nie do końca. To właśnie obiekt w tym drugim miejscu jest modyfikowany (co jest side effect) co zmienia stan środowiska maszyny abstrakcyjnej. Ponieważ kompilator nic o tym nie wie, to trzeba mu uświadomić informując o...

    Mikrokontrolery   17 Kwi 2024 22:25 Odpowiedzi: 26    Wyświetleń: 618
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [FAT] - Podkatalogi na karcie SD - obsługa, wyszukiwanie plików , itp

    I niestety warning nadal występuje: main.c:37:16: warning: assignment discards 'volatile' qualifier from pointer target type To nie ma znaczenia czy ona jest w RAM - liczy się to, że na obiekt volatile chcesz wskazywać wskaźnikiem nie-volatile. "Poprawić" można albo usuwając volatile z definicji obiektu, albo używając wskaźnika z kwalifikatorem volatile....

    Mikrokontrolery   21 Maj 2014 12:34 Odpowiedzi: 38    Wyświetleń: 3678
  • REKLAMA
  • Lokalizacja procedur przerwania w Cube po dodaniu UART i imporcie do Keila

    Dobrze kombinujesz. Jako ścieżka programu należy brać to co jest w "głównym" programnie i z niego wołane. Obsługa przerwań siędo tego oczywiście nie zalicza. Dlatego dla kompilatora ten kod nigdy nie jest wykonywany bo nie może odszukać żadnej ścieżki do niego prowadzącej. Czyli może uznać że jakaś zmienna nigdy nie jest zmieniana ani używana. Dlatego...

    Mikrokontrolery ARM   19 Lip 2018 14:21 Odpowiedzi: 11    Wyświetleń: 588
  • [C++] - Ulotność (volatile) obiektu a ulotność jego składników

    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 trywialności tego kodu? Tak przypuszczam, m.in. stąd pytanie: Czy kompilator...

    Programowanie Początkujący   09 Lut 2016 17:41 Odpowiedzi: 15    Wyświetleń: 1356
  • REKLAMA
  • STM32F4 - Zmienne lokalne szybsze niż zmienne globalne.

    Myślę, że Freddie doskonale o tym pamięta. Natomiast Ty nie wiadomo z jakiego powodu ograniczasz volatile tylko do aspektu modyfikacji. Standard C określa, jak ma się zachowywać obiekt (np. zmienna z atrybutem volatile), a nie jak to zachowanie ma osiągnąć kompilator - tu mamy pełną dowolność. Raczej odwrotnie. Użycie volatile nie określa, że wystąpi...

    Mikrokontrolery ARM   26 Lut 2014 12:09 Odpowiedzi: 34    Wyświetleń: 4734
  • Umieszczanie obiektów klasy w pamięci FLASH w C++ (gcc) - jak to zrobić?

    Na podstawie testów i poszukiwań podobnego rozwiązania dla avr-g++ mogę powiedzieć, że pozostaje tylko metoda "udarowa". Ponadto w definicjach "REGx" ominąłeś volatile, które gmatwa sprawy jeszcze bardziej w kontekści templateów :) Najprościej (automatycznie) przerobić/dorobić nagłówki: #define REG1_addr 0x40000000 #define REG1 (*(volatile uint32_t*)(REG1_addr)).....

    Mikrokontrolery   12 Paź 2009 17:49 Odpowiedzi: 17    Wyświetleń: 3217
  • [ARM][C] Dlaczego stosowanie pól bitowych powoduje błędy?

    Witam, Mam ten sam problem z GCC (Atmel Studio) tzn. bajtowy zapis generuje dziwne zachowanie pozostałych bitów 32 bitowego rejestru peryferii w SAM4S. Wydawało mi się, że rozwiązaniem będzie opcja kompilatora -fstrict-volatile-bitfields. Przykładowo dla pola bitowego unsigned int a : 3 i obiektu volatile całej klasy wg. opisu opcja ta powinna dać dostęp...

    Mikrokontrolery ARM   29 Maj 2017 13:07 Odpowiedzi: 59    Wyświetleń: 7304
  • REKLAMA
  • [C] Jak zainicjalizować wskaźniki do tablic struktur w C?

    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; u16 x_size; const u8 *file; } btn_vars_t; // STALA struktura we flashu... typedef...

    Mikrokontrolery   02 Gru 2011 08:45 Odpowiedzi: 5    Wyświetleń: 2714
  • Zasady pisania programów pseudowielowątkowych na małych proc

    Interpretacja zdarzeń należy do ciebie, tylko ty wiesz czy możesz jakieś pominąć, czy też nie. Np. robisz licznik na enkoderze. Każde przekręcenie enkodera ma go zmniejszać/zwiększać, generuje więc zdarzenie. W innym miejscu je odbierasz i zmieniasz stosownie licznik. W takiej sytuacji analizujesz zdarzenie po zdarzeniu. Inny przykład - masz kolejkę...

    Mikrokontrolery   12 Kwi 2011 22:58 Odpowiedzi: 103    Wyświetleń: 15095
  • REKLAMA
  • [LPC4088][LCD] - mruganie przesuwającego się obiektu

    Napisałem program, którego zadaniem jest przesuwanie się na tle obiektu / obrazka. Stworzyłem w pamięci dodatkowy bufor, który jest za każdym przebiegiem rysowany jest czarnym kolorem (tło), następnie rysowany jest na nim odpowiednio przesunięty obrazek. Po czym w ten sposób wypełniony bufor kopiowany jest pod adres bufora wyświetlacza LCD. Efektem...

    Mikrokontrolery ARM   05 Maj 2014 16:23 Odpowiedzi: 9    Wyświetleń: 1284
  • [C++11][Cortex-M3/M4] - distortos - obiektowy RTOS dla mikrokontrolerów w C++

    semaforami już kombinowałem. Nie zadziałało jak należy czy może w czymś innym był problem? Właśnie patrzę na Twój przykład ConditionVariable... zaraz będę testował Kod z testów niekoniecznie będzie przydatny, bo tamten kod jest często nadmiernie rozbudowany aby te wszystkie dziwne rzeczy sprawdzać. Na początek można zacząć od wiki - https://en.wikipedia.org/wiki/Monitor_(s...

    Mikrokontrolery ARM   06 Kwi 2021 08:03 Odpowiedzi: 255    Wyświetleń: 38067
  • Arduino pomiar odległości enkoder program nie liczy przebytej drogi

    Kolego Chivo ja korzystam obecnie z enkodera dfrobot df400 ma 400 impulsów na obrót, czasem bywały problemy z nim ale znacznie przewyższa tanie impulsatory. Wracając do tematu opracowałem kod który działa mniej więcej tak jak bym chciał. Czujnik odległości optyczny odbiciowy działa na pinie 12, na pinie 2 korzystam z impulsów enkodera. Podczas gdy obiekt...

    Arduino   01 Cze 2022 08:12 Odpowiedzi: 10    Wyświetleń: 1563
  • [STM32] [STM32][C++] - Hardfault przy użyciu polimorfizmu w Eclipse na ARM

    To sprawdź od razu czy problem występuje dla obiektu na stosie. Aby to zweryfikować trzeba wymusić użycie przez wskaźnik, np. tak: int main() { Derived object; Base* volatile pointer = &object; pointer->function(); ... Jeśli powyższe zadziała, a dla obiektu globalnego nie, to znaczy że problem jest w globalnych konstruktorach....

    Mikrokontrolery   26 Sie 2016 08:54 Odpowiedzi: 25    Wyświetleń: 1896
  • [ATmega][C/C++] Programowanie obiektowe, inne kompilatory

    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 3 4 #include <stdint.h> 5 6 #ifdef __AVR__ 7 #include <avr/io.h>...

    Mikrokontrolery AVR   09 Cze 2010 19:02 Odpowiedzi: 60    Wyświetleń: 8152
  • Jak przekazać PORTx jako parametr szablonu klas w avr-g++?

    OK. Sprobowalem zrobic to proponowana metoda, program dziala, a mi udalo sie rozpoznac problem. Jednak ze wzgledu na optymalizacje i elgancje rozwiazania chcialbym ciagle wykorzystac szablon. Zgodnie z podanymi powyzej przez kogos definicjami w bibliotekach avr-g++ PORTx zdefiniowany jest jako wskaznik do obiektu typu volatile, co ja lub kompilator...

    Mikrokontrolery   10 Sie 2007 09:26 Odpowiedzi: 9    Wyświetleń: 2652
  • Atmega128L i SRAM BS62LV1024 - Jak poprawnie podłączyć i używać pamięć?

    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ęć. Gdyby napisać: struct jakis_skomplikowany_obiekt* my_obj = (void*)0x2345;...

    Mikrokontrolery   29 Lip 2008 12:05 Odpowiedzi: 25    Wyświetleń: 3486
  • zilog encore! i problem z "volatile" w ZDSII

    ...Deklarację robiłem na różne sposoby np. volatile unsigned char znacznik; i cóż... efekt jest taki, że ewentualna modyfikacja wartości tej zmiennej jest widoczna tylko w danym segmencie kodu... Wytłumaczenie jest proste - źle zbudowałeś projekt :( Przykład: system.h //... volatile int var; //... uart.h //... #include "system.h" //... main.c...

    Mikrokontrolery   04 Lip 2007 19:01 Odpowiedzi: 4    Wyświetleń: 1248
  • AVR/ATmega8 - Gdzie stosować volatile przy tablicach i strukturach?

    Chyba raczej odwrotnie. w każdym kompilatorze jaki widziałem, zmienne volatile są _zawsze_ w pamięci i zgodnie ze standardem są odczytywane tyle razy ile razy są użyte np w wyrażeniu. Po kazdej zmianie są zapisywane. To teraz wyobraźmy sobie sytuację kompilatora, który może przetrzymywać zmienne volatile w rejestrze. Zgodnie ze standardem wykonuje...

    Mikrokontrolery AVR   28 Sty 2017 07:43 Odpowiedzi: 40    Wyświetleń: 2532
  • Zmienne globalne wykorzystywane przez przerwania i inne.

    Chyba zaczyna się ujawniać wyższość procesorów o możliwie długim słowie danych - nawet operacje 32 bitowe będą atomowe. Nie będą niestety o ile operacja RMW będzie realizowana przez kilka rozkazów, które mogą być przerwane. Będzie natomiast w systemie, który będzie modyfikować pamięć jednym rozkazem, który nie może być przerwany (a często mogą być...

    Mikrokontrolery Początkujący   28 Kwi 2021 13:48 Odpowiedzi: 47    Wyświetleń: 2841
  • [ATmega] [ATmega][C] Zmienna globalna zwraca 0 przy wywołaniu funkcji w main()

    basemodule.h typedef struct { uint8_t blockParam; uint8_t signedMove; uint32_t deviceInitialAdress; }glob; uint8_t returnBlockParam(void); basemodule.c volatile static glob globalVariables; uint8_t returnBlockParam(void) { uint8_t returningValue = globalVariables.blockParam; rprintf("Returning : %d",returningValue...

    Mikrokontrolery AVR   28 Lip 2009 14:05 Odpowiedzi: 8    Wyświetleń: 1500
  • C++ - Dlaczego wskaźnik zmienia wartość w funkcji push w liście jednokierunkowej?

    Volatile przy value, ale to pierwsze co mi do głowy przychodzi. Jeszcze popatrzę na drugi kod. Dodano po 2 W drugim kodzie najpierw wypisujesz wartość poprzedniego elementu v, a dopiero potem do listy dodajesz nowy. Widzę też, że nie masz nigdzie wyzerowania next na NULL. Dodano po 3 W sumie w pierwszej funkcji też... Dodano po 1 Aaa, widzę kolejny...

    Programowanie Początkujący   12 Sie 2012 13:18 Odpowiedzi: 11    Wyświetleń: 1353
  • Dlaczego zmienna volatile nie działa w zegarze na AT90S2313?

    Witam. Poszedłem za radą kolegi i zmieniłem dodatkowo liczba1...liczba4 na volatile i działa - dziękuje za pomoc. Rozumiem, że błąd był dla niektórych wręcz śmieszny, jednak zaczynam zabawę z C i czasami takie wpadki się zdarzają :) Dla uściślenia - volatile stosować wtedy gdy dokonuje się np obsługi przerwania i w wyniku tego przerwania wartość zmiennej...

    Mikrokontrolery AVR   11 Lut 2010 10:27 Odpowiedzi: 7    Wyświetleń: 2171
  • [atmega8] [atmega8][C] Dalmierz ultradźwiękowy - zawieszanie po przełączeniu portu B5

    Witam, jestem początkujący jeżeli chodzi o programowanie mikrokontrolerów, więc poniższy kod nie jest przepiękny. Proszę o poprawę... Główny problem: układzik jest to dalmierz ultradźwiękowy uzyskujący spory zasięg. Jednak by mógł też mierzyć odległość przedmiotów blisko umieszczonych muszę przełączać próg komparatora atmegi. Robię to za pomocą portu...

    Mikrokontrolery AVR   06 Sty 2010 05:57 Odpowiedzi: 2    Wyświetleń: 1594
  • STM32F410RB - ADC_SR_EOC nie ustawia się na 1 po konwersji ADC

    Znowu jakaś magia. po co open drain i ine głupoty? asm volatile ("nop"); to nie robi tego co myślisz. nop w ARM-ach to nie to samo co nop w ACR-ach Z tym open drain to nie byłem pewny czy output jest automatycznie przełączany w stan wysokiej impedancji, więc wolałem go powiesić w powietrzu, NOP dodałem później żeby sprawdzić czy ten bit też się wyzeruje...

    Mikrokontrolery Początkujący   01 Lut 2019 10:39 Odpowiedzi: 4    Wyświetleń: 531
  • AVR, C++ i Makefile – jak skonfigurować kompilację programów C++ na AVR?

    Freddie, wrzuć ten Twój kod. Tu masz o operatorach new i delete + "magia" do zmuszenia linkera do użycia metod wirtualnych: http://www.avrfreaks.net/index.php?name=... Pewien narzut oczywiście jest, trzeba znać koszt różnych konstrukcji (zupełnie jak w niskopoziomowym C). W C++ nie płacisz za to, czego nie używasz...

    Mikrokontrolery   23 Lip 2009 21:56 Odpowiedzi: 18    Wyświetleń: 9318
  • Sonar ultradźwiękowy AVR - nieprawidłowe działanie i piszczenie bez obiektu

    W necie na stronce http://www.patron.net.pl/konstruktorzy/A... zlalazlem taki schemacik sonaru ultradzwiekowego, i wszystki bylo by ok gdzyby nie to, ze troszeczke inaczej on dziela niz powinien ,a mianowicie piszczy jak oszalaly gdy nie ma w jego zasiegu zadnego przedmiotu a gdzy juz jest to tez piszczy:D a powonien podobno zmieniac czestotliwosc...

    Robotyka Modelarstwo i CNC   01 Gru 2007 23:24 Odpowiedzi: 27    Wyświetleń: 6923
  • C - jak poprawnie przypisać wartości do struktury PWM_data?

    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 i struct zmienna, w dodatku można naturalnie przekazywać zmienne do...

    Mikrokontrolery   03 Sty 2012 22:12 Odpowiedzi: 11    Wyświetleń: 1481
  • [Poradnik] Polecane książki i kursy do nauki C i C++ dla początkujących

    volatile wymusza na kompilatorze odczytywanie wartości z pamięci a nie przechowywanie tej wartości w rejestrze co jest chyba oczywiste dla obiektu, który może być zmieniony przez coś nad czym kompilator nie ma kontroli.

    Projektowanie i Tworzenie Po godzinach   11 Lis 2017 21:36 Odpowiedzi: 31    Wyświetleń: 4284
  • C++ (AVR GCC) - Jak dynamicznie tworzyć i niszczyć obiekty za pomocą wskaźników?

    (at)BlueDraco O, dochodzimy do sedna :) Ja nigdzie nie twierdziłem, że wszystkie metody mają być wirtualne. Oczywiście należy z tego korzystać do celów do których to zostało stworzone. Poprzedzanie każdej metody słowem virtual, jest tak samo głupie jak poprzedzanie każdej definicji zmiennej modyfikatorem volatile :) Powiem szczerze, że cena, typu max...

    Mikrokontrolery AVR   03 Lut 2016 18:26 Odpowiedzi: 34    Wyświetleń: 3633
  • [STM32F1] [STM32F1][C][AC6 StdPeriph] Błędy UART, możliwe problemy z zegarem i konfiguracją

    Witam, Zacząłem zabawę z STM32, kupiłem najtańszy moduł z procesorem STM32F103C8T6, programuje z użyciem STLink v2 w środowisku AC6 STM32 (eclipse) biblioteka StdPeriph. Prosta obsługa portów działa, kompiluje i debugguje poprawnie. Jednak jest problem z UARTem, ciągle łapie śmieci (realTherm pokazuje błąd ramki). Konfiguracja baudrate itd na PC i uC...

    Mikrokontrolery ARM   21 Gru 2017 20:35 Odpowiedzi: 6    Wyświetleń: 2193
  • [ZL25ARM] Czy można debugować STR912FAW44 za pomocą ZL18PRG przez LPT?

    Probowalem wstawic breakpointa za delay'em i wcisnac continue...ale program wtedy rusza i sobie dziala normalnie, a przeciez to nie main powinien sie zapetlac a petla nieskonczona while. Może postawiłeś tego breakpointa w miejscu w którym nie ma żadnej instrukcji, przez co debugger takowego breakpointa ignoruje? Nie działem nigdy w Insight, więc nie...

    Mikrokontrolery ARM   02 Kwi 2009 12:28 Odpowiedzi: 54    Wyświetleń: 7867
  • zestaw uruchomieniowy AVR ,filtracja i Atmel Studio

    Stad też często dla celu debug stosuje się optymalizację na poziomie 1 (O1) lub nawet 0 (O0). Ja wolę zadeklarować jako static a czasem aby śledzić stan w pracy krokowej trzeba jeszcze dodać volatile. Czyli na okrętkę robisz to co robi -O0. static wprowadza tyle różnic w stosunku do normalnej deklaracji zmiennej, że powstaje pytanie o sens takiego...

    Mikrokontrolery AVR   22 Lip 2017 22:46 Odpowiedzi: 117    Wyświetleń: 6837
  • STM32F103 - Zapis do FLASHa nie działa przy optymalizacji -Os. Co robić?

    Czyli niepoprawny program przypadkiem Ci działał (bo deklarowanie zapisywalnych zmiennych we flash raczej ciężko uznać za poprawne), a taki mniej niepoprawny już się nie kompiluje. Trochę szukanie dziury w całym, skoro jedyne poprawne rozwiązanie to dodanie "const" do _WSZYSTKICH_ obiektów które będą we flash... Dodano po 3 Wszystko zależy od tego czy...

    Mikrokontrolery ARM   11 Lip 2016 07:57 Odpowiedzi: 37    Wyświetleń: 2628
  • [RTOS] Jak zacząć programować w RTOS? Różnice względem bare metal i integracja FatFS

    Nie przesadzajmy - nie jest to znowu taki wielki problem. Co do sterowników urządzeń, to przy prostym założeniu można sprawę zredukować do zwyczajnego kodu jaki każdy tworzy bez RTOSów - to założenie to "danego urządzenia używa tylko jeden wątek". To pozornie wielkie ograniczenie w większości wypadków jest całkowicie słuszne, bo np. jak by wyglądał...

    Mikrokontrolery   09 Lut 2013 17:50 Odpowiedzi: 23    Wyświetleń: 4335
  • C++ Allegro 2D – kolizje obiektów czasem nie działają, problem z pozycjonowaniem

    Witam forumowiczów, jest to mój pierwszy post na elektrodzie, więc proszę o wyrozumiałość. Od jakiegoś czasu pisze programy w C++,jestem samoukiem. Wpadłem na pomysł napisania gry.Znalazłem dość przyzwoitą bibliotekę : Allegro, do projektów 2D. Do rzeczy, podczas pisania natrafiłem na problem, problem z kolizją, czasem zachodzi, a czasem nie.Funkcje...

    Programowanie   31 Paź 2010 11:42 Odpowiedzi: 3    Wyświetleń: 1397
  • Arduino - Odczyt sygnału pulsycajnego i zapis w formie pwm.

    Dobra coś tam naskrobałem. Wszystko spoko i działa ale nie jest to co chciałem. Bo napięcie na wyjściu jest za niskie do sterowania sterownikiem led który potrzebuje min. 5v [syntax=PWM] #include <PinChangeInt.h> #include <Servo.h> // pin wejściowy #define PWM_IN_PIN 4 // pin wyjściowy #define PWM_OUT_PIN 6 // Wykorzystanie obiektu do sygnału...

    Arduino   21 Lut 2016 19:05 Odpowiedzi: 20    Wyświetleń: 3762
  • RTOS - wszystko, co chciałbyś wiedzieć i nie boisz się zapytać

    Załóżmy, że obsługujemy klawisz w przerwaniu zewnętrznym i ustawiamy flagę, że został naciśnięty. W pętli głównej sprawdzamy flagę i toglujemy diodą na wyjściu wysyłając jednocześnie po uarcie info - dioda ON/OFF. :idea: - taki przykład dla początkujących :D Osobiście zrobiłbym to zupełnie inaczej. Obsługa przycisków przy użyciu przerwania zewnętrznego...

    Mikrokontrolery   12 Lip 2019 10:52 Odpowiedzi: 171    Wyświetleń: 9393
  • XMega AVR - Jak zadeklarować indeksowaną zmienną bitową w C

    Chodzi o to, że kompilator ma dowolność implementacji tego zapisu - to może być x+x+x+x, lub 4*x. Obie implementacje są równie poprawne. Jeśli uważasz, że tak nie jest, to podaj proszę źródło. Moim zdaniem nie są, pod względem side effects. I wynika to dla mnie z tego co przytoczył Freddie w poście #62 Natomiast wydaje mi się, że tak naprawdę to Ty...

    Mikrokontrolery AVR   17 Gru 2016 00:04 Odpowiedzi: 106    Wyświetleń: 4386
  • [RTOS] vs Bare Metal - Zalety i wady w systemach embedded

    Następna sprawa, tak szumnie nazywanie normalnych flag synchronizacyjnych muteksami i semaforami. No przecież to się w "tradycyjnych" systemach rozwiązuje zwyczajną flagą (tudzież kilkoma flagami) synchronizacyjną. Jest to kompletna bzdura, ponieważ obiekty synchronizacyjne blokują wątek, a odczytywanie w kółko zmiennej "volatile bool" raczej niezbyt....

    Mikrokontrolery   06 Gru 2015 15:59 Odpowiedzi: 56    Wyświetleń: 6162
  • STM32F100RB - kompilacja arm-none-eabi-gcc z biblioteką CMSIS, makefile, dioda LED

    Dzięki za odpowiedź. mo make clean mam: "Removing all generated output files from output directory: out/ cs-rm -f out/stm32f10x_it.d out/stm32f10x_it.lst out/stm32f10x_it.o make: cs-rm: Polecenie nie znalezione Makefile:290: polecenia dla obiektu 'clean' nie powiodły się make: *** Compiling file: main.c arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb...

    Mikrokontrolery ARM   30 Paź 2016 22:23 Odpowiedzi: 20    Wyświetleń: 1221
  • [STM32] Czy warto używać bibliotek ST w projektach z STM32?

    IMHO - nie warto, bo są beznadziejne. W bardziej skomplikowanych kwestiach to jest parada wyrażeń typu if () { ... } else if () {...} else if () {...} ... . Warto pooglądać kod tej biblioteki, bo z optymalnością to on zbyt dużo nie ma wspólnego... Co kto woli... Do skonfigurowania i/o można napisać sobie baaaaaardzo proste makra, które zajmują o wiele...

    Mikrokontrolery ARM   15 Sty 2016 12:53 Odpowiedzi: 152    Wyświetleń: 33247
  • Jak czytać wielowymiarowe duże tablice w PGM SPACE [C]

    Ale to kosmetyka, związana z typami. Nie chciałem już zaciemniać kodu i opisu w poście. U mnie kompilacja z optymalizacją -Os -O1 i -O2 kończy się tak samo: A masz avr-gcc skąd? Tego typu błąd występował w 4.7.x i chyba 4.8.0, był zgłoszony na bugtracku gcc i jest poprawiony. Można go wyeliminować w starych wersjach usuwając generowanie informacji...

    Mikrokontrolery AVR   09 Kwi 2015 09:41 Odpowiedzi: 41    Wyświetleń: 2769
  • Pisanie programów i używanie bibliotek w C i Asemblerze

    To jest tylko sztuczny marketingowy zabieg w celu zdywersyfikowania produktu jakim jest kompilator na wersje Free, Standard i Pro. Taki system powoduje przywiązanie do produktów i skrojenie na miarę kieszeni klienta i nie ma nic wspólnego z obiektowością. I to jest właśnie problem , bo pisząc w C nie mamy wpływu na to jak będzie wyglądał kod wynikowy...

    Mikrokontrolery   16 Gru 2016 02:36 Odpowiedzi: 260    Wyświetleń: 11478
  • Kod Arduino do komunikacji UART z urządzeniem Stag AFR - nie otrzymuję odpowiedzi

    To nie będzie działać. (at)ElektrodaBot Użyj schmatu z tego kodu Input to odczytany procent tlenu Setpoint 5.5% tlenu Oudput sygnał do serwa Funkcje docount i microseconds oraz rpm nie będą potrzebne w przypadku [syntax=arduino]#include <Servo.h> #include <PID_v1.h> volatile unsigned long MicrosecondsPerRevolution = 0; const unsigned long...

    Arduino   14 Sty 2025 16:31 Odpowiedzi: 104    Wyświetleń: 1914
  • Atmega8 - Implementacja PWM i timera w liczniku obrotów - kod i ustawienia

    Witam. Potrzebuję W tym liczniku obrotów: [syntax=c]#include <avr/io.h> #include <stdio.h> #include <avr/interrupt.h> #include <util/delay.h> #include "HD44780.h" //tutaj ustaw własne zasady pomiaru #define POMIAR_ILOSC_IMPULSOW_NA_OBROT 4 //ilość inpulsów na jeden obrót #define POMIAR_ILOSC_OBROTOW 10 //ile obrotów ma trwać...

    Mikrokontrolery AVR   29 Kwi 2016 13:22 Odpowiedzi: 1    Wyświetleń: 969
  • Jak wybudzić STM32F103 z trybu Standby używając HAL i CubeMX?

    Proponuję tego tak nie robić tylko utworzyć sobie do tego celu sekcję (at).:KoSik:. Po pierwsze [syntax=c]struct NOINIT nvram __attribute__((at(0x20000000)));[/syntax... jest tylko dla Keila - czyli niezbyt często wykorzystywanego przez amatorów kompilatora. Dla gcc trzeba zrobić sobie sekcję i nie ma innej możliwości - bo musisz powiedzieć linkerowi...

    Mikrokontrolery ARM   09 Gru 2018 18:36 Odpowiedzi: 20    Wyświetleń: 1029
  • AVR - jak radzić sobie z fusebitami i ograniczeniami 8-bit?

    Czytam i czytam, z coraz większym zaciekawieniem. Przy tym zero krainy sarkazmu. Nie wypowiem się na temat HAL-a gdyż go nigdy praktycznie nie używałem. Wychodzę z założenia, że jak coś sknocić to po swojemu. Wtedy przynajmniej: a. Nie mam na kogo zwalić winy. To bardzo poprawia samoocenę. b. Poprawianie po sobie jest znacznie łatwiejsze jak po innych...

    Projektowanie i Tworzenie Po godzinach   30 Sty 2020 18:45 Odpowiedzi: 368    Wyświetleń: 17286
  • Arduino: Zliczanie impulsów enkodera i sterowanie przekaźnikiem

    Witam. Z góry zaznaczę, że w arduino to właściwie mój pierwszy program. Próbuję sklecić sobie program który liczy impulsy z enkodera inkrementalnego (500 impulsów na obrót), i co zadaną ilość impulsów (która będzie czasami zmieniana), włączy przekaźnik na określony czas (na początek 500ms a później jak ma też być ten czas regulowany w pewnych widełkach)....

    Mikrokontrolery Początkujący   05 Lut 2024 15:37 Odpowiedzi: 19    Wyświetleń: 1338
  • EmbeddedDev - blog dla programistów systemów wbudowanych

    Czy ja się gdzieś na blogu podpisałem jako ekspert albo specjalista? Nie chodzi o to, że robisz to specjalnie czy coś takiego. Po prostu zwykle ktoś kto czyta taki artykuł (z wyjątkiem osoby o dużej wiedzy w danym temacie) przyjmuje większość rzeczy które przeczyta dosyć bezkrytycznie. Im bardziej jest początkujący, tym bardziej bezkrytycznie podchodzi...

    Mikrokontrolery   08 Mar 2018 10:45 Odpowiedzi: 28    Wyświetleń: 1971
  • [ARM] [ARM][C] Jak unikać zmiennych globalnych w embedded C? Struktury i wskaźniki

    W większości Twoich pytań są już jakieś odpowiedzi. Od siebie dodam, że warto pokusić się o używanie C++ nawet w środowiskach embedded standalone. Operatora "new" teoretycznie się nie użyje (choć jak się pokombinuje...), ale obiektowość ma wiele innych zalet. Warto przyswoić sobie sposób myślenia z języków wyższych poziomów jak Java ( np. ukrywanie...

    Programowanie   15 Lis 2017 10:13 Odpowiedzi: 19    Wyświetleń: 921
  • ATMega 16: Timer działa, ale uC nie wchodzi do pętli while(1)

    Taaa znalazł... pewnie walczył z tym volatile 3 godziny :) . Tak naprawdę to nie szukałem o tym volatile bo programuję w C od wielu lat i nie tylko proceduralnie ale i obiektowo oraz biblioteki graficzne do C. Dlatego same hasło Freddiego dało mi odpowiedź, ale skoro jest to częstym problemem to może warto by było napisać jakieś FAQ z najczęstszymi...

    Mikrokontrolery AVR   09 Lut 2009 08:50 Odpowiedzi: 3    Wyświetleń: 1380
  • ATmega32 - Skrócenie obliczeń, elementy 13 bitowe i tablica 16 bitowa.

    To co z waszą pomocą spłodziłem działa świetnie na napięciu stałym. Wyniki są praktycznie bezbłędne i bardzo stabilne. Jednakże na AC jest beznadziejnie. Wyniki są totalnie losowe. Wnioskuję, że próbkowanie jest nierównomierne i stąd te problemy. Ustawiłem OCR na 2 przy preskalerze 1024 daje 2604 Hz. Przy częstotliwości sieciowej da to 52 próbki na...

    Mikrokontrolery AVR   26 Lis 2013 09:33 Odpowiedzi: 26    Wyświetleń: 2595
  • [F411CE][C][KEIL 5.24.2.0] FT800 Touch Screen nie działa

    Nie udało mi się uruchomić TouchScreen-a na FT800. Sam moduł jest sprawny, po podłączeniu do Arduino ekran dotykowy działa. Próbowałem odczytu rejestrów REG_TOUCH_TAG i REG_TOUCH_RAW_XY ale otrzymuję informacje jakby ekran nie był dotykany lub go nie było (FFFF i 8000). W DS wyczytałem, że trzeba przeprowadzić kalibrację, która zapisze do rejestrów...

    Mikrokontrolery ARM   02 Sie 2018 09:49 Odpowiedzi: 7    Wyświetleń: 786
  • [STM32] Jak pisać efektywne i przenośne biblioteki dla STM32 w C?

    Globalne (ale nie wątkowe, niektóre funkcje formatujące tak działają), albo jakiś rodzaj zarządzania tymi fragmentami pamięci. W C jest to hardkor, bardzo trudno to eksploatować (łatwo raz użyć źle). Tym niemniej profesjonalny kod w C (linux, drivery itd) potrafi alokować w jednym module, a gdzieś zupełnie inaczej zwolnić (kosztem bardzo precyzyjnego...

    Mikrokontrolery ARM   12 Gru 2016 20:53 Odpowiedzi: 83    Wyświetleń: 10641
  • Książki o programowaniu uC i systemach uC - opinie, przemyślenia, nowości

    Tutaj nawet nie chodzi o to jakie konkretne mikrokontrolery są używane do nauki, ale o brak podejścia do techniki tworzenia oprogramowania na urządzenia wbudowane. Jak optymalnie pisać drivery, na co zwracać uwagę w C, po co volatile, jak projektować maszynę stanów, podejście algorytmiki, bufory kołowe, FIFO, stosy, podejście pseudo-obiektowe i tak...

    Mikrokontrolery Początkujący   21 Mar 2020 12:19 Odpowiedzi: 525    Wyświetleń: 138533
  • [F411] FT800 zapamiętanie kalibracji Touch Screena

    Na Elektrodzie niewiele jest informacji o FT8xx, czas to zmienić :-) Po problemach z uruchomieniem ekranu dotykowego https://www.elektroda.pl/rtvforum/topic3... jak się spodziewałem jest kłopot z zapamiętaniem danych kalibracyjnych. Gdy wywołam kalibrację: The calibration procedure collects three touches from the touch screen, then computes...

    Mikrokontrolery ARM   06 Sie 2018 14:59 Odpowiedzi: 10    Wyświetleń: 1269
  • [Atmega8][C] Atmega8 i TWI na przykładzie zegara LED

    Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...

    Mikrokontrolery AVR   24 Lis 2009 11:17 Odpowiedzi: 1    Wyświetleń: 25456
  • Arduino R4 WiFi i Multi Function Shield - portujemy bibliotekę na R4, FspTimer

    https://obrazki.elektroda.pl/7400017800_... Dzisiaj przedstawię proces portowania biblioteki obsługującej MultiFunctionShield na Arduino R4 oraz krótko zademonstruję jej możliwości, czyli wyświetlanie danych na 7-segmentowym, 4-cyfrowym wyświetlaczu oraz kontrolę klawiatury i buzzera. Przy okazji też zobaczymy jak można zrealizować...

    Artykuły   21 Sie 2023 20:36 Odpowiedzi: 0    Wyświetleń: 2937
  • Jak wybrać poziom optymalizacji kodu w AVR-GCC i jego wpływ na działanie?

    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ę optymalizacje ze względu na rozmiar kodu (s), która w większości...

    Mikrokontrolery   27 Wrz 2006 21:27 Odpowiedzi: 3    Wyświetleń: 1997
  • Wyswietlenie calego slowa na wyswietlaczu HD447 (ZL10ARM)

    Witam, Niedawno rozpoczalem przygode z mikrokontrolerami. Dostalem w prezencie zestaw ZL10ARM i wspomagajac sie ksiazka "LPC2000. Mikrokontrolery z rdzeniem ARM7" zaczalem dzialac. Rozpoczalem od uruchamiania przykladowych programow autora ksiazki i ich modyfikacji wraz z proba (czasami nieudana) zrozumienia cos sie tam dzieje. Napotkalem na trudnosc...

    Mikrokontrolery ARM   27 Sie 2010 08:25 Odpowiedzi: 4    Wyświetleń: 1325
  • Obsługa przycisków dotykowych za pomocą mikrokontrolera AVR

    http://obrazki.elektroda.pl/3988245700_1... 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 jednak...

    Artykuły   19 Gru 2014 16:27 Odpowiedzi: 3    Wyświetleń: 16410
  • Mandriva 2007.1 - instalacja Neostrady z modemem F@st 800, błąd kompilacji

    witam . jestem zielony w obsłudze linuxa , mam zamiar zainstalować neostrade na Mandrivie 2007 [Mrozik(at)localhost ~]$ su Hasło: [root(at)localhost Mrozik]# rpm -i --force --nodeps gcc-4.1.2-1mdv2007.1.i586.rpm [root(at)localhost Mrozik]# rpm -i --force --nodeps gcc-c++-4.1.2-1mdv2007.1.i586.rpm [root(at)localhost Mrozik]#...

    Sieci, Internet   30 Kwi 2008 18:28 Odpowiedzi: 4    Wyświetleń: 1227
  • [STM32F429ZIT6] [STM32F429ZIT6][SSD1963] Wyświetlacz 4.3 nie wyświetla koloru czerwonego, tylko GBR

    Cześć wszystkim, Zabrałem się za obsługę wyświetlacza 4.3" opartego na SSD1963 w oparciu o FMC w STM32F429ZIT6. Konfigurację wszystkich podzespołów przeprowadziłem bezpośrednio na rejestrach. Sama procedura konfiguracyjna SSD1963 pochodzi z biblioteki UTFT z Arduino (oczywiście przepisana na potrzeby STMa) - na tamtym procku działa, więc tutaj ten sam...

    Mikrokontrolery ARM   13 Mar 2017 22:27 Odpowiedzi: 3    Wyświetleń: 1242
  • sscanf i błąd linkowania na niektórych wersjach gcc-arm-none-eabi

    Cześć, Weźmy na tapetę pewien projekt ( 1. Xubuntu 20.04 Toolchain zainstalowany z głównego repozytorium dystrybucji gcc-arm-none-eabi 9-2019-a4 libnewlib-arm-none-eabi 3.3.0 2. Xubuntu 16.04 Toolchain zainstalowany z launchpada https://launchpad.net/gcc-arm-embedded w wersji 7-2018-q3 3. Debian 9.1 Toolchain zainstalowany z repozytorium dystrybucji...

    Mikrokontrolery ARM   12 Paź 2020 18:50 Odpowiedzi: 3    Wyświetleń: 486