inline kompilator

Znaleziono około 265 wyników dla: inline kompilator
  • Kompilator nie znajduje definicji funkcji inline w C - jak to rozwiązać?

    Jeżeli funkcji dajesz kwalifikator "inline", to kompilator może próbować rozwinąć ją w miejscu wywołania ("inline" to tylko sugestia, nie wymaganie), ale aby mógł to zrobić musi widzieć definicję (ciało) funkcji w tej samej jednostce kompilacji, co wywołanie. Jeżeli będzie widział tylko deklarację, to wstawi normalne wywołanie. Stąd często funkcje inline...

    Programowanie   05 Sie 2015 13:56 Odpowiedzi: 11    Wyświetleń: 1350
  • ATmega 8 - Funkcje inline - statement with no effect

    A co z tymi funkcjami inline? Chciałem, żeby program był czytelny. Używać ich, czy wystarczy #define? Inline w ogóle zajmują miejsce w pamięci? Oczywiście używać inline - unikaj define jak ognia, to dyrektywa preprocesora, która tylko wprowadza zamieszanie. Obecnie nie ma za wiele sytuacji, w których należy ją używać. Napewno nie należy jej używać...

    Mikrokontrolery Początkujący   04 Paź 2015 12:06 Odpowiedzi: 6    Wyświetleń: 939
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • [LPC2378][C/Keil]Zawieszenie programu przy przeniesieniu funkcji do innego pliku

    Prawdopodobnie kompilator rozwijał funkcję inline i nie było problemu zamazania stosu przed wyjściem z funkcji. Wyjście z main to i tak koniec programu. 5 to też jest za mało. Potrzebujesz 4 znaki na cyfry, 2 na 'mV' i 1 na zero konczące. Razem co najmniej 7. Jak na skutek jakiegoś wydarzenia wartość w zmiennej będzie ponad 9999 to więcej. Dla pełnego...

    Mikrokontrolery ARM   23 Mar 2012 21:08 Odpowiedzi: 4    Wyświetleń: 1320
  • REKLAMA
  • Jak przyspieszyć funkcję w C dla Xmega128 używając wstawek asm?

    Ale sprawdziłeś wygenerowany kod? Bo na 90% kompilator sam wygenerował to co tak pracowicie wstawiłeś w asemblerze - a jeśli nie to prosta zmiana opcji kompilacji, dodanie inline itd. spowoduje, że taki kod powstanie automatycznie. Ja niedawno pisząc w C podobną funkcję uzyskałem ok 14 Hz odświeżanie na Matrycy 320x240, w trybie równoległym 16 bitowym...

    Mikrokontrolery AVR   29 Paź 2011 19:32 Odpowiedzi: 15    Wyświetleń: 2870
  • Inżynieria oprogramowania - prawidłowe pisanie sterowników i bibliotek.

    Kilka uwag w przypadkowej kolejności 1. Nie bój się C++ - niekoniecznie cała biblioteka standardowa jest optymalna i właściwa na uK, ale jest wiele kochanych ficzerów samego języka. a) niepubliczne pola i metody - to ci się bardzo przyda, jak chcesz mieć architekturę b) konstruktory, w tym obiektów statycznych (moduły mogą się rejestrować do modułu...

    Mikrokontrolery   28 Mar 2021 22:50 Odpowiedzi: 5    Wyświetleń: 549
  • [STM32F4][C] - Program wskakuje do _Default_Handler podczas acos() i pow().

    Wszystkie te których używam (sqrtf(), powf(), acosf()) są liczone przez FPU? Niekoniecznie. W Newlib (czyli libm.a) nie ma implementacji specjalnie dla tego koprocesora, jednak jeśli masz włączoną optymalizację, skonfigurowane FPU (opcje kompilacji) i dodaną flagę -ffast-math, to kompilator niektóre z nich potraktuje jako funkcje inline i zastąpi odpowiednimi...

    Mikrokontrolery ARM   12 Kwi 2013 16:04 Odpowiedzi: 16    Wyświetleń: 2013
  • REKLAMA
  • atrybut "volatile" dla struktury danych - niezgodność

    Panowie wydaje mi się, że właśnie w takim przypadku użycie volatile jest KONICZNE i to zdecydowanie, ponieważ to właśnie tylko w funkcjach a w zasadzie TYLKO w funkcjach zawierających pętle nieskończone bez możliwości ich przerwania dochodzi do buforowania zmiennych Nie jest to prawdą: Natomiast co ciekawe jeśli używamy zmiennej w przerwaniu to jej...

    Mikrokontrolery   28 Sie 2011 09:32 Odpowiedzi: 23    Wyświetleń: 3715
  • [STM32] [C] [CMSIS] - #ifdef brak deklaracji stalej

    ARM7, Cortex-M3 to - powiedzmy - "handlowe nazwy" architektur, odpowiednio ARMv4 i ARMv7-M. Oczywiście nowsza jest ARMv7 czyli własnie Cortex. ARM7 jest już nieco przestarzały, a układ LPC2106 to w ogóle antyk - NXP od czasu tego układu wypuściło bardzo wiele fajnych układów z tym rdzeniem, dokładnie chodzi o rodziny LPC23xx i LPC24xx - LPC2106 to chyba...

    Mikrokontrolery ARM   19 Sty 2011 16:19 Odpowiedzi: 13    Wyświetleń: 5153
  • Jak w C przypisać zawartość rejestru r16 do zmiennej na AVR?

    Zamiast pytać o to jak odwołać się do tego rejestru (co prawda można tworząc zmienną przez jakas_zmienna >>= 1; if(PS_WEJ&0x01) jakas_zmienna |= 0x80; nie tracąc na szybkości (3 cykle przy rejestrze IO dostępnym przez sbic/sbis, 3 przy innym rejestrze [sbrc/sbrs], 5 przy komórce pamięci). Ze względu na skrajny bit można to zoptymalizować,...

    Mikrokontrolery AVR   02 Sty 2009 13:07 Odpowiedzi: 3    Wyświetleń: 1937
  • [ATxmega128A3][avr-gcc] - Makrodefinicje I/O w Xmega

    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 zdecydowanie lepiej posługiwać się makrami LED_ON i LED_OFF...

    Mikrokontrolery Początkujący   10 Wrz 2012 15:31 Odpowiedzi: 5    Wyświetleń: 2226
  • Linux – jak działa rozkład zadań na rdzenie i procesory, czy można wymusić równomierne obciążenie?

    (at)ElektrodaBot - jakich opcji gcc trzeba użyć dla procesora X86 o architekturze Haswell, aby wygenerował instrukcje zmiennoprzecinkowe w kodzie, zamiast wywoływać funkcje biblioteczne? Próbowałem "gcc -march=haswell -mfpmath=both -mhard-float -O9" - bez powodzenia, wywołuje np. "cos(at)PLT", nie używa wprost FCOS. Bezpośrednia odpowiedź - Nie wymusisz...

    Linux   18 Paź 2025 12:56 Odpowiedzi: 18    Wyświetleń: 390
  • Jak zmusić GCC do optymalizacji bez eliminacji wstawki asm?

    (...) bić, żeby poinformować kompilator, że ma optymalizować kod w C, ale nie pomijać tej wstawki asm(...)? Próbowałem asm volatile (...), nie pomaga. (at)ElektrodaBot jaka dyrektywa działająca tylko na wstawkę asm() w programie w C kompilowanym przy użyciu GCC ochroni ją przed wyrzuceniem przez optymalizację? Bezpośrednia odpowiedź na pytanie Aby...

    Programowanie   22 Kwi 2025 16:41 Odpowiedzi: 22    Wyświetleń: 495
  • Jak przekonwertować kod źródłowy Mac OS (C++) do działania na Linuxie?

    (at)elektrodabot Błędy kompilacji: anaw.cpp anaw.cpp(16) : warning C4005: '_CRT_SECURE_NO_WARNINGS' : macro redefinition command-line arguments : see previous definition of '_CRT_SECURE_NO_WARNINGS' anaw.cpp(17) : warning C4005: '_SCL_SECURE_NO_WARNINGS' : macro redefinition command-line arguments : see...

    Obsługa oprogramowania   22 Gru 2025 18:18 Odpowiedzi: 55    Wyświetleń: 909
  • REKLAMA
  • [HD44780] - Wpływ pinu R/W na szybkość działania w trybie 4-bitowym

    ...ale jak zrobić funkcję inline w pliku innym niż main? bo obojętnie czego bym nie zrobił, to kompilator olewa inline :( Bo kompilator nie wie, gdzie funkcja będzie użyta. Mimo, że jest inline, to nie masz pewności, że kompilator tak ją zrobi :) tmf wyjaśnił chyba wszystko.

    Mikrokontrolery   01 Sie 2014 11:31 Odpowiedzi: 54    Wyświetleń: 7264
  • Dlaczego przesunięcie bitowe w AVR zwraca nieoczekiwany wynik?

    Dodałem static i czas dalej jest taki sam Zarówno ze static inline jak i samo inline jak i bez dyrektywy inline. Toć napisałem, że kompilator dodaje inline za Ciebie dlatego nie widzisz różnicy. Jak wyłączysz opcje kompilatora , żeby nie inlineował funkcji to różnicę zauważysz. Wystarczy samo inline dodać, nie wiem po co tu static, ale to może freddie...

    Mikrokontrolery AVR   24 Lip 2011 14:37 Odpowiedzi: 18    Wyświetleń: 2702
  • GCC - asm, składnia nop, wstawki asemblerowe: Jak zatrzymać usuwanie NOP-ów przez kompilator?

    Witajcie, Nie wiem, jaką składnią w GCC "ogarnąć" wstawki asemblerowe NOP by nie były "wyrzucane" przez kompilator. Mam takie proste funkcje: [syntax=c] #define NOP() __asm__ __volatile__("nop") inline void ledSendBit(uint8_t Bit) //Dla zegara 8MHz (takt 125ns) { if(Bit) { LED_SET; NOP(); //580...1000ns NOP(); NOP(); NOP(); NOP(); LED_RESET; NOP();...

    Mikrokontrolery AVR   27 Kwi 2023 14:52 Odpowiedzi: 26    Wyświetleń: 1005
  • AVRStudio 5 Funkcja inline błąd linkera "undefined reference to"

    1. Jeśli się nie mylę to gcc bez optymalizacji zawsze ignoruje inline. 2. Żaden kompilator nie ma obowiązku respektować inline - patrz standard C 3. inline może występować bez static, ale w Twoim wypadku to zupełnie bez sensu. bo kompilator musi wtedy wygenerować także definicję funkcji - nie może założyć, że nie ma zewnętrznych odwołań do niej. Albert

    Mikrokontrolery   18 Sie 2011 09:11 Odpowiedzi: 13    Wyświetleń: 2973
  • [avrgcc] Jak przekazać rejestr (OCR0A, OCR0B) jako argument funkcji w avrgcc?

    Jeśli funkcja będzie inline, to kompilator być może wygeneruje efektywny kod (IN/OUT/SBI/CBI). W przeciwnym wypadku będziesz miał LD/ST. A co ma do tego inline ?

    Mikrokontrolery AVR   02 Mar 2009 13:54 Odpowiedzi: 14    Wyświetleń: 1953
  • Attiny2313 a atmega128. Odniesienie do funkcji inline.

    No to przeczytaj (najlepiej w K&R skoro już go masz) co powoduje inline. W skrócie - nie da się pobrać adresu funkcji inline - bo ona nie istnieje jako osobna funkcja. Teoretycznie jeśli niejest zadeklarowana jako static inline, to kompilator powinien tworzyć dwie wersje - jedną inline i jedną zwykłą funkcję, której adres możesz pobrać. Niemniej inline...

    Mikrokontrolery AVR   02 Gru 2010 10:37 Odpowiedzi: 5    Wyświetleń: 1374
  • [STM32] Czy warto używać bibliotek ST w projektach z STM32?

    pomijając parę innych kwestii, chociażby możliwość deklarowania funkcji jako inline (tak, wiem, w przypadku zwykłego słówka "inline" jest to tylko sugerowanie kompilatorowi, żeby inline'ował, ale np. w przypadku gcc można funkcji nadać taki atrybut: __attribute__((always_inline)) i wtedy kompilator nie ma wyboru, nawet gdy ma optymalizacje ustawione...

    Mikrokontrolery ARM   15 Sty 2016 12:53 Odpowiedzi: 152    Wyświetleń: 33496
  • Zliczanie impulsów enkodera 100 impulsów/obrót – AVR, wyświetlacz nie reaguje

    No i wypadałoby, żeby te funkcyjki, co mają po dwie linie kodu były zadeklarowane jako static inline. Z czym znowu możnaby dyskutować :) Oczywiście to w niczym raczej nie zaszkodzi, ale też nie jest potrzebne - gcc automatycznie traktuje jako inline funkcje, których kod wynikowy jest nie większy niż zadana wartość, którą można zmieniać stosowaną opcją...

    Mikrokontrolery AVR   27 Gru 2012 23:08 Odpowiedzi: 20    Wyświetleń: 4467
  • Przeportowanie projektu z m328 na t84 i wzrost kodu?

    Jak ma być szybko to dlaczego nie sprzętowy SPI tylko programowy? Wygodniej było mi płytkę zaprojektować. Ot tyle. Poza tym t84 ma uniwerslane USI...R Dodano po 2 Wiem, widziałem. Niemniej jeśli trafi na ten temat ktoś z podobnym problemem, to dobrze aby uzyskał wyczerpujące infomacje. U Ciebie to było inline, u kogoś innego to mogą być kwestie związane...

    Mikrokontrolery   01 Kwi 2020 12:28 Odpowiedzi: 31    Wyświetleń: 972
  • [AVR|C] agresywna optymalizacja gcc - co pominąłem

    Nie. Kiedyś funkcja była jako static inline z atrybutem always_inline, no i kompilator skracał sobie bezpośrednie wywołania. Bez tego volatile komunikacja częściej zawodzi.

    Mikrokontrolery   04 Lip 2012 16:46 Odpowiedzi: 5    Wyświetleń: 1408
  • Jak wymusić użycie INLINE w AVR-GCC zamiast wywołań CALL?

    da sie wymusic inline funkcji, ktora jest najnormalniej w swiecie zdefiniowana w INNYM pliku? jesli deklaracje i definicje funkcje wzbogace o 'inline', to kompilator stwierdza przy kompilacji modulu wywolujacego, ze: undefined reference to `io_init' pomaga umieszczenie ciala funkcji w pliku naglowkowym, ale... ale to kiepskie rozwiazanie, wolalbym gdyby...

    Mikrokontrolery   05 Sty 2009 20:43 Odpowiedzi: 19    Wyświetleń: 4307
  • Jak uruchomić wyświetlacz HD44780? Brak wyświetlania, tylko podświetlenie działa

    https://obrazki.elektroda.pl/7013991800_... Dodano po 50 To miało być masa syfu :d Jeszcze konieczna była zmiana rezystora z filtru V0 z 10k na obecnie chyba ok 640R (nadal to ledwo wystarcza), pewno 10k nie wystarczy na zwykły LCD 2x16 a ten jest 5 razy większy

    Początkujący Elektronicy   03 Wrz 2024 20:45 Odpowiedzi: 16    Wyświetleń: 348
  • AVR-GCC funkcja inline w kilku plikach źródłowych

    W zasadzie słowo inline to tylko wskazówka dla kompilatora i kompilator nie ma obowiązku jej wykorzystać. Faktyczne zachowanie zależy od opcji optymalizacji (i heurystyki kompilatora). Zapewne masz opcję -Os i to jest rezultat. Myślę jednak, że powinno pomóc (dając najmniej efektów ubocznych) zdeklarowanie tych funkcji jako static inline zamiast tylko...

    Mikrokontrolery   17 Kwi 2008 09:39 Odpowiedzi: 10    Wyświetleń: 3099
  • Prostownik do ładowania akumulatorów (auto)

    W serii tych blogów jest chyba prawie wszystko łopatologicznie opisane o programowaniu AVR w C: Deasembler nie istnieje bin nie da się odwrócić . Robi się to podsłuchując działające urządzenie lub program Znalazłem w końcu-da się zdeasemblerować HEXa którego wysyłamy przez ISP do uP AVR;) Można zobaczyć jaki wpływ na kod mają opcje kompilacji. W tym...

    Artykuły   29 Sty 2024 10:53 Odpowiedzi: 2692    Wyświetleń: 1202292
  • Przykład architektury systemu wbudowanego programowanego w C++

    Kod z funkcjami wirtualnymi dla kompilatora jest trudniejszy do optymalizacji, ponieważ kompilator nie wie dokładnie, która konkretnie funkcja zostanie wywołana na rzecz którego obiektu. No i? Przecież funkcje publiczne które nie są inline nie zostaną jakoś magicznie zoptymalizowane, bo kompilator popatrzy w reszcie projektu jak są używane. Jedyna...

    Mikrokontrolery   17 Lut 2021 08:29 Odpowiedzi: 30    Wyświetleń: 1533
  • Jak używać funkcji asemblera w C w AVRStudio? Integracja i kompilacja kodu

    Na avr/gcc jeszcze nie próbowałem, ale jak mi tzreba cos podobnego na innych środowiskach, robie w C pustą funkcję o odpowiedniej nazwie i liście parametrów, każę kompilowac nie do zbioru binarnego tylko do źródła w asemblerze (zwyklwe jest jakaś opcja) i mam szkielecik funckji kompatybilnej z C (jakby w zbiorze .s). Modyfikuję, przepuszczam programem...

    Mikrokontrolery   04 Sty 2007 10:52 Odpowiedzi: 7    Wyświetleń: 2287
  • Jak poprawnie używać funkcji static w C z WinAVR?

    loocasm : funkcje static inline w nagłówku owszem mogą być, aczkolwiek nie powinno się tego stosować zbyt często - jeśli funkcja jest długa i nigdy nie została by wstawiona inline przez kompilator, to zostanie ona skompilowana w każdym module w którym jest używana z osobna - wynika to z tego, że kompilator ignoruje wtedy inline, po wstawieniu nagłówków...

    Mikrokontrolery AVR   27 Sie 2009 14:53 Odpowiedzi: 6    Wyświetleń: 2938
  • [Atmel Studio, C] Funkcje w osobnych plikach zajmują więcej pamięci uC

    Poczytałem trochę o tym inline i z tego co udało mi się ustalić to jego używanie nie powoduje oszczędności. Wychodzi na to że kod z funkcja typu inline jest po prostu wstawiany w miejsce jego wywołania. Czyli jeśli w programie użyję 5 razy tą samą funkcję typu inline to kompilator po prosu mi wstawi kod tej funkcji do programu aż 5 razy. Zwykła funkcja...

    Mikrokontrolery Początkujący   24 Kwi 2016 22:11 Odpowiedzi: 8    Wyświetleń: 1374
  • [avr-gcc] Błąd kompilacji: brak definicji funkcji `sbi` w kodzie AVR

    define w ogóle nie jest instrukcją strukturalną ani niczym co kompilator ANALIZUJE (sprawdza). Hmm... Z tego co wiem , a wiem o C jeszcze niewiele , to preprocesor "podmienia" makra na stringi i podrzuca to kompilatorowi. Poeksperymentowałem co nieco z inline i ... wygląda to nieciekawie w AVR-GCC.Bez optymalizacji kompilator generuje skok do podprogramu...

    Mikrokontrolery   09 Sty 2008 19:44 Odpowiedzi: 42    Wyświetleń: 35741
  • ISR - Użycie wielu rejestrów w funkcji, optymalizacja, sterowanie bitami i portami IO

    Podaj wersję kompilatora. W nowszych zostało to poprawione i kompilator odkłada tylko te rejestry, które używa. Niemniej, nawet w tak prostym kodzie może używać ich wiele, bo w większości przypadków nie wiąże się to z żadnymi kosztami, więc optymalizator nie jest na to nastawiony. Zauważ, że w C nie ma koncepcji przerwań, więc kompilator nie do końca...

    Mikrokontrolery AVR   10 Wrz 2022 08:46 Odpowiedzi: 9    Wyświetleń: 750
  • [STM32] - Ilość plików a wielkość kodu wynikowego.

    Odwracasz kota ogonem. Nigdzie nie pisałem, że ta oszczędność do czegokolwiek jest potrzebna. Ale skoro autora to gnębi, to mu odpowiadamy. A poznanie kompilatora może kiedyś się przydać. Piszesz o asemblerze, modyfikatory typu const, static, inline po coś wymyślono. Dobrym nawykiem jest informować kompilator o swoich intencjach, a nie pisać byle się...

    Mikrokontrolery ARM   20 Wrz 2015 21:12 Odpowiedzi: 25    Wyświetleń: 1572
  • [AVR] [AVR][C] Błędy w wyświetlaniu znaków na HD44780 - biblioteka własna

    Ja tego nie wymyślam. Jeśli byłoby samo inline, to kompilator oprócz rozwijania funkcji utworzyłby osobne ciało, które można byłoby wywołać (call). W przypadku static inline tego nie zrobi. Co do sensu lub nie, przykład z core_cm3.h [syntax=c]static __INLINE uint32_t SysTick_Config(uint32_t ticks) { if (ticks > SysTick_LOAD_RELOAD_Msk) return (1);...

    Mikrokontrolery AVR   07 Mar 2012 14:37 Odpowiedzi: 16    Wyświetleń: 2993
  • Wybór mikrokontrolera ARM do nauki po AVR - łatwo dostępny i niedrogi sprzęt

    tam jest tylko jedna operacja - chodziło o to aby było 32k iteracji inline i nie inline Poprawiłem zanim odpowiedziałeś. Nie inkrementujesz adresu i kompilator wycina odczyty. Gdybyś inkrementował to zabrakło by ramu.

    Mikrokontrolery   11 Sty 2017 21:51 Odpowiedzi: 165    Wyświetleń: 10494
  • [C] Czy funkcja 'inline' w C może korzystać ze zmiennych lokalnych wywołującej?

    Funkcja typu inline to funkcja która nie jest wywoływana, lecz jej kod jest wstawiany bezpośrednio w miejsce wywołania. Czy w związku z tym taka funkcja może korzystać ze zmiennych lokalnych funkcji ją wywołującej? Trzeba stosować np. takie same nazwy zmiennych, albo kompilator robi to sam automatycznie?

    Programowanie   17 Lis 2014 16:14 Odpowiedzi: 5    Wyświetleń: 1077
  • czekanie na wciśnięcie przycisku - ograniczone czasowo

    Jeśli chodzi o C to ja też zbyt zaawansowany nie jestem, ale czytam posty ludzi o wiele mądrzejszych ode mnie i stosuje się do ich rad. Jak funkcja nie jest inline to jest ona normalnie wywoływana co zabiera procesorowi kilka cykli na skok do bloku w pamięci, w którym ta funkcja się znajduje i jeszcze parę cykli na powrót z procedury. Jak funkcja jest...

    Mikrokontrolery   31 Sie 2008 10:20 Odpowiedzi: 19    Wyświetleń: 2640
  • LCD 4x20 z przesuwanym i migającym kursorem w 4 wierszu

    No widzisz :) Pierwsze sprawdziłem- działa. TIMSK zaremowany, puste przerwanie też. TIFR |= (1 << TOV1); wstawiony do przerwania od ADC. Co prawda kod jest jeszcze bardziej niezrozumiały- ale działa. wystarczy dodać komentarz :P Co do reszty- inline jeszcze nie przerabiałem- link od Ciebie Avrlibc manual czytam codziennie i podręcznik do C też-...

    Mikrokontrolery AVR   06 Wrz 2010 22:14 Odpowiedzi: 122    Wyświetleń: 9281
  • C++ Cortex-Mx - C++ i lużne dywagacje na starcie...

    Nie prościej tak nie kombinować? Funkcje zdefiniowane wewnątrz definicji klasy (zwykle w nagłówku) są domyślnie traktowane jako z atrybutem "inline" i po co kombinować więcej? A już jakieś atrybuty "always_inline", to prosta droga to zabawy w assembler++, bo skoro kompilator uznał, że inline'owanie nie ma sensu, to zapewne tak właśnie jest.

    Mikrokontrolery ARM   29 Maj 2015 10:52 Odpowiedzi: 38    Wyświetleń: 2955
  • Jak zmierzyć czas wykonania funkcji w AVR Studio z AVR-GCC?

    Nie jest to możliwe, gdyż optymalizacja _delay jest zabroniona - zawiera ona volatile. Dlatego też napisałem właśnie, że wydaje mi się to dziwne - nie miałem pod ręką kompilatora aby sprawdzić czy tam jest volatile w środku. Czyli mój trop był błędny. Dodatkowo nie ma atrybutu zezwalającego na zastąpienie wywołania wynikiem funkcji (__attribute__(const))....

    Mikrokontrolery AVR   24 Wrz 2013 17:15 Odpowiedzi: 11    Wyświetleń: 3117
  • Poszukuję kursy prgramowania mikrokontrolerów ARM

    Poświęcilem sie i sprawdziłem AVRStudion 4 z WinAVR-20060421 w defaultowych opcjach. Frontend GCC jest taki sam (backend się róźni na konkretny hardware), dlaczego mikroprocesorywy C miałby tu być językowo gorszy? Ty mówisz o jakich kompilatorach? Używam kompilator Hi-tech dla PICów. Producent ściśle trzyma się normy C89 i inline nie ma. Jeśli chcę...

    Mikrokontrolery   12 Maj 2009 17:56 Odpowiedzi: 67    Wyświetleń: 32096
  • Użycie enum do pozycji w struct w C - czy to możliwe?

    A co jest złego w użyciu tablicy zamiast struktury i wołanie zawartosc ((uint8_t*)&zawartosc)&#... Rzutujesz strukturę na tablicę i używasz jej jak by pamięć struktury była tablicą. Znów zamiast wpisywać wartość wpisujesz w/w (albo robisz referencję i używasz referencji). Jednak to podejście jest śliskie - bo nie masz gwarancji...

    Mikrokontrolery Początkujący   26 Kwi 2020 14:11 Odpowiedzi: 5    Wyświetleń: 765
  • [Atmega162] Atmega162 WinAVR - Błąd undefined reference przy obsłudze wyświetlacza LCD

    Wywal definicję funkcji lcd_GetFile z pliku lcd.c, a zdefiniuj ją w pliku lcd.h funkcja inline to coś a'la makro, kompilator nie generuje dla niej jednego kodu do którego się "skacze" z różnych miejsc przez call, ale generuje wprost ten sam kod w każdym miejscu w którym jej użyjesz - tyle razy ten sam kod ile jest wywołań. Podczas kompilacji musi wiedzieć...

    Mikrokontrolery AVR   03 Gru 2009 14:00 Odpowiedzi: 5    Wyświetleń: 1994
  • [ATmega32][avr-gcc] C - Restart mikro-kontrolera podczas powrotu z funkcji

    Pod PA0 podpiętą mam diodę przez rezystor 4k7(próbowałem też 220R) do zasilania. Próbowałem zasilać go przez zasilacz komputerowy oraz programator usbasb z takim samym skutkiem. Tak mam kondensatory na zasilaniu. Nie mam ustawionych bitów BODLEVEL moje fusbity o E4:99. Poza tym uC się nie resetuje jeżeli funkcja test() jest inline co moim zdaniem sugeruje...

    Mikrokontrolery Początkujący   30 Kwi 2014 21:33 Odpowiedzi: 17    Wyświetleń: 1848
  • Czy w temacie dekompilacji zmieniło się coś w st.do lat poprzednich?

    Zainteresowany jestem dekompilacją wsadów, przeróbką na własne potrzeby, ponowną kompilacją i generowaniem podpisu. Poruszyłeś tu dwa tematy: modyfikację istniejącego skompilowanego kodu i generowanie podpisów. Kilka uwag na oba tematy. 1/ Modyfikacja kodu binarnego W przypadku kodu natywnego (C, C++) nie ma co liczyć na pełną dekompilację do kodu...

    Programowanie Początkujący   06 Sty 2022 20:46 Odpowiedzi: 13    Wyświetleń: 615
  • Attiny13A - Timer CTC nie działa, LED nie miga zgodnie z oczekiwaniami

    Nope. Kompilator nigdy nie zoptymalizuje w ten sposób nieskończonej pętli. Nie jestem pewien czy w Atmel Studio nie mialem kiedys takiego problemu wlasnie z wlaczona optymalizacja (kompilator usuwal petle i program konczyl sie po jednym przebiegu). Glowy jednak nie dam, bo to dawno bylo ;) - ale dla pewnosci mozna wstawic inline asm z instrukcja nop...

    Mikrokontrolery AVR   18 Wrz 2016 18:14 Odpowiedzi: 13    Wyświetleń: 1692
  • [ATmega32] Błędy kompilacji w kursie C dla ATmega32 z avrlib 1.6 na ZL3AVR 16MHz

    Powiedz mi jeszcze, dlaczego trzeba zrobić takie zmiany. Mógłbyś to krótko wytłumaczyć?? Bo atrybuty, w rodzaju PROGMEM, czyli przypisanie do konkretnej sekcji pamięci, mogą mieć tylko zmienne, a nie typy danych. Natomiast atrybut inline ma sens tylko wtedy, jeżeli kompilator w momencie użycia funkcji zna jej definicję, a nie tylko deklarację. W praktyce...

    Mikrokontrolery AVR   05 Maj 2011 11:04 Odpowiedzi: 18    Wyświetleń: 5377
  • Zapętlenie przy odbiorze OK na STM32 - jak poprawić kod?

    wprost nieobsługuje się przerwania nie rozumiem. O co Ci chodzi Ale jak RX nie jest volatile to kompilator uzna że nie może się zmienić w tej pętli while i odczytać wartości tylko raz. Później będzie porównywać tylko wartości rejestrów, Zobacz sobie jak to działa : https://godbolt.org/z/pKPEx2 wywołać którąś assemblerową instrukcję synchronizacyjną...

    Mikrokontrolery ARM   18 Sty 2020 22:25 Odpowiedzi: 21    Wyświetleń: 1131
  • AVRGCC inline asm – jak poprawnie zapisać pętlę z brcs bez błędu PC?

    mam nastepujaca linijke kodu while (indeks_linii<64) {} kompilator AVRGCC zamienia to w nastepujacy ciag instrukcji in R31,0x23 cpi R31,0x40 brcs PC-0x02 jak zrobic z tego wstawke asemblerowa do AVRGCC? kod typu asm volatile("in R31,0x23"); asm volatile("cpi R31,0x40"); asm volatile("brcs...

    Mikrokontrolery   12 Sie 2006 11:29 Odpowiedzi: 2    Wyświetleń: 1041