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.
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...
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....
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...
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...
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...
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)).....
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...
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...
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ę...
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...
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...
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...
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....
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>...
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...
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;...
...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...
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...
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ć...
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...
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...
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...
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...
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...
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...
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...
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...
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.
(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...
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...
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...
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...
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...
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ł...
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...
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...
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...
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...
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....
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...
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...
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...
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...
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...
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ć...
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...
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...
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)....
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...
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...
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...
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...
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...
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...
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...
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...
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...
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ć...
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...
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...
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...
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]#...
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...
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...
volatile przerwać typedef volatile volatile struct
termopara przewody piasta łożyska teleinformatyk egzamin zawodowy
parrot ck3100 aktualizacja parrot ck3100 aktualizacja
Rura do klimatyzatora: dobór, średnice, izolacja, marki Daikin, LG, Gree, Mitsubishi Plastiki do TGB 50 2012 – gdzie kupić owiewki, oryginały i zamienniki, numery OEM