funkcja inline

Znaleziono około 661 wyników dla: funkcja inline
  • AVRStudio 5 Funkcja inline błąd linkera "undefined reference to"

    Więc tnij jak pisałem, nie przejmując się czy działa tylko błędem. Wtedy znajdziesz i będziesz mądrzejszy ;-) Aha, a czy pies nie jest pogrzebany w braku static przed inline? Albert

    Mikrokontrolery   18 Sie 2011 09:11 Odpowiedzi: 13    Wyświetleń: 2949
  • 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ń: 1317
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • [C] Czy funkcja 'inline' w C może korzystać ze zmiennych lokalnych wywołującej?

    Jeśli koniecznie chcesz mieć jakiś fragment kodu w odpowiednim miejscu innej funkcji i mieć pewność, że tam się znajdzie, to musisz przyglądnąć się makrom. Inline to sugestia dla kompilatora nie obowiązek, natomiast makro wklei ciało funkcji w to miejsce gdzie rozwiniesz makro. Brzydkie ale skuteczne.

    Programowanie   17 Lis 2014 16:14 Odpowiedzi: 5    Wyświetleń: 1050
  • REKLAMA
  • XMega AVR - Jak zadeklarować indeksowaną zmienną bitową w C

    funkcje inline muszą być w plikach includowanych - jest to logiczne bo nie są linkowane tylko ich treść wstawiana w miejsce "wywołania". ps. pytanie spowodowane niezadowalającym wynikiem kompilacji ( wielokrotne użycie tychże funkcji powoduje nie tylko brak efektu" inline" ( ale i zdecydowanie nadmiarowy kod... Nie rozumiem co zmnaczy w kontekście tego...

    Mikrokontrolery AVR   17 Gru 2016 00:04 Odpowiedzi: 106    Wyświetleń: 4566
  • REKLAMA
  • Czujnik odległości HC-SR04, LED i Atmega32, język C

    Z tego: [syntax=c]#define Trig (1<<PD0) PORTD |= (1<<Trig); [/syntax] de facto wykonane zostanie : [syntax=c]PORTD |= ( 1 << (1<<PD0) );[/syntax] czyli: [syntax=c]PORTD |= ( 1 << (1<<0) );[/syntax] czyli: [syntax=c]PORTD |= ( 1 << 1 );[/syntax] co skończy się ustawieniem bitu PD1 w PORTD a powinno być: [syntax=c]PORTD...

    Mikrokontrolery Początkujący   02 Lip 2022 16:56 Odpowiedzi: 12    Wyświetleń: 1935
  • REKLAMA
  • 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ń: 3078
  • zestaw uruchomieniowy AVR ,filtracja i Atmel Studio

    Masz 2 błędy: 1. Funkcja delay nie jest static. 2. Przekazujesz do _delay_ms wartość nie znaną na etapie kompilacji. [syntax=c]static inline void delay(uint16_t cnt) { #if !DEBUG while (cnt--) _delay_ms(1); #endif }[/syntax] BTW: Wklejając tutaj kod + komunikaty błędu kompilacji będziesz miał większe szanse na uzyskanie pomocy niż w przypadku screen...

    Mikrokontrolery AVR   22 Lip 2017 22:46 Odpowiedzi: 117    Wyświetleń: 7008
  • [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ń: 1998
  • STM32F407 - Jak ustawić priorytet przerwania dla EXTI5 i wyższych?

    Przez czas jak pisałeś te dwa posty już ze 4x przejrzałbyś CAŁĄ listę przerwań, bo nie wiem skąd założenie, że koniecznie muszą być po kolei. P.S. Co złego jest w funkcji z CMSISa robiącej to samo co Ty tylko czytelniej? Przy okazji jak być jej użył, to nie robiłbyś zupełnie bezsensownego ORa... P.S.2. Funkcja z CMSIS jest typu inline - nie da się tego...

    Mikrokontrolery ARM   16 Gru 2013 11:09 Odpowiedzi: 15    Wyświetleń: 2082
  • Jak wyświetlić napis 'Hello World' na wyświetlaczu TFT używając STM32F411RET i FT800?

    Podmieniłem #define EVE_CFAF800480E0_050SC (ta z linii 104) na #define EVE_RVT35. Pytanie dlaczego akurat tutaj trzeba to podmienić skoro w 75 linii jest to samo #define EVE_RVT35 ?? Poniewaz wszystkie wczesniejsze #define masz w warunku #if 0 #endif czyli niespelnionym. Zreszta w CubeIde powinienes miec to zaznaczone na szaro (wylaczone). Czy zatem...

    Mikrokontrolery ARM   15 Paź 2020 08:40 Odpowiedzi: 13    Wyświetleń: 1392
  • [C++] Funkcja typu inline lub include w preprocesorze

    Czy istnieje jakaś dyrektywa preprocesora, która umożliwi wciśnięcie w kod jakiegoś pliku tekstowego? Mam skrypt w sql który nie chcę przepisywać do pliku źródłowego w C++. Chciałbym natomiast zrobić coś w tym stylu: Funkcja_Wkonywujaca_Kod_Sql(" #include "moj_skypt.txt" "); Chodzi o to aby preprocesor umieścił zawartość...

    Programowanie   15 Kwi 2010 18:34 Odpowiedzi: 1    Wyświetleń: 1332
  • MSP430 I2C w C: Dlaczego program w C nie działa, a w asemblerze działa?

    ... jednak dalej coś jest nie tak bo RTC nie reaguje... Myślałem , że zauważysz , ale nie zauważyłeś :| Twoja funkcja I2C_Tx() , wysyła na magistrale tylko 7 bitów :( Poza tym , nie odkładaj na później sprawdzania ACK , bo możesz nigdy nie dojść do tego momentu ;) I na koniec propozycja . Wstaw sobie taki fragment i używaj funkcji do operacji na SCL...

    Mikrokontrolery   06 Lut 2008 18:22 Odpowiedzi: 14    Wyświetleń: 3231
  • 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ń: 3688
  • REKLAMA
  • 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ń: 912
  • [STM32F303][C]Atomic blocks - sekcje krytyczne w STM32

    Czasem Arduino do czegoś się przyda Dodano po 2 Możesz dać przykład takiej krytycznej czasowo operacji? Problem jest a raczej był związany z buforem nadawczym uarta. Mam funkcję: Blokuj tylko przerwania od UART.

    Mikrokontrolery ARM   04 Sty 2020 21:56 Odpowiedzi: 16    Wyświetleń: 1341
  • Attiny2313 a atmega128. Odniesienie do funkcji inline.

    No tak, wskaźnik do funkcji inline... pomyśl chwilę nad tą zagadką :) Ale powodem twoich problemów zapewne jest fusebit kompatybilności z ATMega103 - skasuj go i twe kłopoty znikną.

    Mikrokontrolery AVR   02 Gru 2010 10:37 Odpowiedzi: 5    Wyświetleń: 1356
  • [Atmega8] Jak zmierzyć czas stanu wejścia z dokładnością 100ms na Atmega8 w C?

    .... mam notę a WinAVR zainstalowałem w wtorek. Z czego przy programowaniu spędziłem 2-3 godzinny dziennie więc nie oszukujmy się, nic nie jest dla mnie zrozumiałe z tematu timerów. Po tak krótkim czasie spędzonym na nauce programowania w C od podstaw (jak zebrać do kupy te spędzone godziny to wyjdzie może ze 2-3 dni) to nie oszukujmy się, dosyć oczywiste...

    Mikrokontrolery AVR   06 Sie 2011 18:22 Odpowiedzi: 53    Wyświetleń: 7582
  • IAR Embedded Workbench H8S - jak poprawnie zdefiniować funkcje inline?

    oczywiście.. funkcja ma ciało - coś się tam wykonuje. IAR koloruje składnie słówka "inline", więc powinien ją też rozpoznawać. __inline nie działa tak samo jak __inline__ :) w nowsze wersji tego programu, można zaznaczyć w opcjach, żeby wykożrzstywał funkcji inline - a w wersji 1.53e nie ma takiej opcji.

    Mikrokontrolery ARM   20 Sie 2008 07:21 Odpowiedzi: 4    Wyświetleń: 1976
  • Jak poprawnie używać klamr i instrukcji break w kodzie Arduino?

    A dlaczgo nie funkcja inline zamiast tego?

    Arduino   12 Wrz 2017 06:52 Odpowiedzi: 25    Wyświetleń: 3828
  • Fubarino Eth czyli PIC32MX795F512H i ENC28J60 dla Arduino IDE

    https://obrazki.elektroda.pl/2135111100_... Witajcie moi drodzy. Przedstawię tutaj płytkę Fubarino-Eth oferującą łączność USB i Ethernet opartą na 32-bitowym PIC32MX795F512H (512KB Flash, 128KB RAM) i nieśmiertelnym ENC28J60. Płytka ta stanowi moją wersję słynnego Fubarino-SD 1.5 od Projekt płytki Projekt ten jest moją przerobioną...

    DIY Konstrukcje   29 Lip 2021 05:19 Odpowiedzi: 2    Wyświetleń: 4560
  • Jak wymusić użycie INLINE w AVR-GCC zamiast wywołań CALL?

    aby funkcja była inline i była przez kompilator wstawiona pisze się np: [b]inline[/b] void Funkcja(void) { ... } void main(void) { Funkcja(); } Dodat tylko, że funkcja taka musi być w tym samy pliku źródłowym. Przynajmniej mi nie udało się zmusic gcc, żeby wstawił funkcję inline gdy znajdowała...

    Mikrokontrolery   05 Sty 2009 20:43 Odpowiedzi: 19    Wyświetleń: 4301
  • [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ń: 7198
  • [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ń: 1356
  • AVR - Jak użyć jednej funkcji ISR dla dwóch przerwań INT0 i INT1?

    No to masz dwa wyjścia: - albo dodatkowa wspólna funkcja obsługi enkoderów wywoływana z funkcji ISR wraz z jakimś parametrem (ale to rozwiązanie odrzucasz), - albo funkcja inline z parametrem.

    Mikrokontrolery   19 Sty 2015 17:33 Odpowiedzi: 6    Wyświetleń: 840
  • Stare na nowe czyli kod z ATMEGA 32 usiłuje wziąć do STM32F103

    U mnie w kodzie nie ma ...... /* * sterownik dla Margas * wersja dla NUCLEO STM32F446RE * działa dzieki życzliwości i zaangarzowaniu członków forum ELEKTRODA * wspomagających moją skromną wiedzą programistyczną * za co jestem im bardzo a to bardzo wdzęczny * data xx-xx-2024 */ #include "STM32TimerInterrupt.h" #include "STM32_ISR_Timer.h"...

    Mikrokontrolery ARM   09 Sie 2024 15:25 Odpowiedzi: 330    Wyświetleń: 6972
  • [avrgcc] Jak przekazać rejestr (OCR0A, OCR0B) jako argument funkcji w avrgcc?

    moze, ale funkcja inline jest uzyta KONKRETNA ilosc razy, w KONKRETNYCH miejscach i z KONKRETNYM argmentem. z tego wzgledu kompilator moze KAZDE wystapienie takowej funkcji zoptymalizowac osobno, tak aby byla jak najlepsza. za to gdy funkcja jest nie-inline, to kompilator nie ma prawa zalozyc, ze - dla przykladu - argumenty beda takie, ze lepsza bylaby...

    Mikrokontrolery AVR   02 Mar 2009 13:54 Odpowiedzi: 14    Wyświetleń: 1935
  • Optymalizacja "kompresja" i przyspieszenie programów Arduino

    (at)tronics Sorry ale taka analiza powinna się odbywać poprzez przejrzenie symboli w pliku *elf a nie jakimś trywialnym porównaniu. Wielkie mi nieba, zapis do rejestru zajął mniej niż call funkcji. Ponadto ciekawe o ile będzie korzystniejszy ten _delay_ms z avrlibc w stosunku do tego ardinowego w przypadku wywołania w wielu miejscach. Bo ten z avrlibc...

    Arduino   10 Sty 2018 09:23 Odpowiedzi: 58    Wyświetleń: 5025
  • AVR-GCC w Atmel Studio 7.0.948 - Makro jako argument dla makro

    (at)lelekx Nie wiem czy ta funkcja inline zadziała. Nie jestem specem od AVR ale z tego wynika: http://www.atmel.com/webdoc/AVRLibcRefer... ze generowane są inne instrukcje dostępu do SFR w przypadku przekazania przez adres.

    Mikrokontrolery AVR   05 Lis 2016 15:09 Odpowiedzi: 23    Wyświetleń: 1512
  • [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ń: 1976
  • [avr-gcc] Błąd kompilacji: brak definicji funkcji `sbi` w kodzie AVR

    Ludzie !!! Nie uczcie innych ludzi takich #define Przecież to horror, jak to użyć w nieco innym konteksie. a) podstawienie w #define !!! b) sklejane instrukcje ; nie zamkniete nawiasami c) nawiasy nie do pary z takimi nawykami potem ktoś ciężko szuka błedu w 'bezbłednym' kodzie. Błedy w makrach NIE SĄ diagnozowane przez kompilator, to czyste wstawienie...

    Mikrokontrolery   09 Sty 2008 19:44 Odpowiedzi: 42    Wyświetleń: 35657
  • C++ Cortex-Mx - C++ i lużne dywagacje na starcie...

    (at)Tadzik ale o co Ci chodzi z tym static inline na końcu bo nie łapię? Taki twór służy "lepszej implementacji makra" w nagłówku. Nie pamiętam jak dokładnie standard mówi ale tak z głowy to z tego co pamiętam z dok. gcc: a. inline to sugestia, jakby co masz jeszcze attribute always_inline b. i tak musi być utworzona kopia tej funkcji, żebyś mógł pobrać...

    Mikrokontrolery ARM   29 Maj 2015 10:52 Odpowiedzi: 38    Wyświetleń: 2892
  • LPC1768 CMSIS 2.0 i KEIL - Porażające błędy w implementacji CMSIS?

    Ja pomijając timery bardzo często korzystam właśnie z takich funkcji typu podaj wskaźnik na coś i zwróć index, nie ważnie czy to jest wskaźnik na jakiś timer, czy adres jakiegoś offsetu w tablicy (np. wskaźników na funkcje przy FSM), więc akurat to jest przydatne, tylko nie w tej formie co tam, zazwyczaj to jest tylko jakaś funkcja inline typu: return...

    Mikrokontrolery ARM   15 Lis 2013 20:02 Odpowiedzi: 30    Wyświetleń: 4173
  • [C] Dlaczego wysyłanie stringu przez RS232 się zapętla? Jak dodać znacznik końca?

    Jak juz to lepiej ( bo mniej operacji) tak (bazując na hioba propozycji) void Wyslij_USART(unsigned int dana)// zadne static, to nie C++ ani funkcja inline { while(!(UCSRA & (1 << UDRE))); UDR = dana; } void Tekst_USART(char *tekst) { while(*tekst) { Wyslij_USART(*text++);...

    Mikrokontrolery AVR   16 Wrz 2008 07:01 Odpowiedzi: 12    Wyświetleń: 3132
  • 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ń: 2613
  • 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ń: 1479
  • 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ń: 2917
  • [avr-gcc] Konflikt typów przy wywołaniu funkcji przerwaniowej INT0_vect na atmega8

    Nie moge z nią zrobić jak z inną funkcją bo funkcja przerwaniowa ma określony adres. A inna funkcja ląduje tam gdzie ląduje. Nie, to adres tej funkcji umieszczany jest w odpowiednim miejscu. No to jak skonstruować taki kod dla avr-gcc? Aby jeszcze był przenośny pomiędzy atmegami? Najlepiej static inline i w obu miejscach wywołać taką funkcję,

    Mikrokontrolery   01 Maj 2021 22:23 Odpowiedzi: 12    Wyświetleń: 579
  • Assembler a C++ czyli wybór szybciej czy taniej...

    Przy okazji przypomniało mi się, że nie warto wywoływać funkcji w przerwaniach (chodzi głównie o avr'y) - wywołana funkcja (według konwencji) może zmienić wartość rejestrów r0, r18-r27, r30, r31 oraz sreg Oczywiście dotyczy to jedynie funkcji łączonych zewnętrznie, tj. z biblioteki lub innej jednostki kompilacji. Funkcje statyczne w obrębie danego...

    Mikrokontrolery AVR   08 Wrz 2010 14:25 Odpowiedzi: 144    Wyświetleń: 21337
  • C++ - optymalizacja obliczania wariancji dla dużych danych (float)

    Pomijając ustawienia optymalizujące, poniżej zamieszczam kod, który realizuje to czego szukałem. Wszystkim dziękuję za dotychczasową współpracę Do następnego ;) PS. Pomysł otrzymany od bardziej doświadczonych, za co serdecznie dziękuję. [syntax=cpp] inline float sqr(float x) { return x * x; } // funkcja inline void calcMeanVar(float *data, size_t size,...

    Programowanie   30 Mar 2015 15:09 Odpowiedzi: 5    Wyświetleń: 918
  • [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ń: 1393
  • ARM GCC. Cortex-M4. Funkcja w assemblerze. Parametry na stosie. Instrukcje specyficzne.

    No tutaj widać że masz zarezerwowane miejsce na stosie dla przekazywanych parametrów i nic nie jest "nadpisywane". Szczerze powiem nie wiem o co Ci chodzi. O to że spodziewałem się standardowego sposobu przekazywania parametrów, czyli kładzenia na stos (powodującego rozrost stosu). Tak przy okazji to jak dajesz taki kod do analizy to lepiej jak byś...

    Mikrokontrolery ARM   10 Cze 2021 18:50 Odpowiedzi: 9    Wyświetleń: 828
  • [C, STM32 CM3] - Bardzo wydajne funkcje obsługujące / rekonfigurujące porty.

    ODR steruje wtedy pullupem jeśli taki tryb działania wybierzesz. Co do funkcji działających na portach, to - jak pisałem wyżej - dorobienie takiej która robi konfigurację dla więcej niż jednego pinu to 2 linijki, a taka która wystawia wartość czy ją odczytuje jest bezsensu, bo od tego masz rejestry, więc czemu nie odczytać ich wprost (ewentualnie funkcja...

    Mikrokontrolery   22 Wrz 2013 16:23 Odpowiedzi: 5    Wyświetleń: 1488
  • 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ń: 720
  • [C] Jak użyć makra w C, by preprocesor zamienił nazwę na wartość?

    :arrow: krzkomar To juz chyba trochę OT, ale jeszcze dopowiem. Po pierwsze zgadzam się absolutnie w kwestii wyższości funkcji inline nad makrami. Z makr korzystam tam, gdzie nie da się użyć funkcji, ewentualnie do definiowania stałych czy konfiguracji (#ifdef). Brak nawiasów rzucił mi się w oczy, bo to podstawa, a odpowiedź pisałem w pośpiechu. :wink:...

    Programowanie   21 Lut 2008 17:23 Odpowiedzi: 17    Wyświetleń: 1640
  • [STM32] Jak ustawić priorytety przerwań w STM32 bez użycia bibliotek?

    Twój kod jest zły, bo czwórki bitów dla poszczególnych przerwań są w tych tablicach IP[] upakowane po 8. Funkcje z CMSISa do przerwań (do NVIC) są generalnie funkcjami inline, więc efekt finalny będziesz miał taki sam - czy użyjesz swoich dostępów do rejestrów, czy tych funkcji. Ja bym proponował zostać przy tych funkcjach. Jak koniecznie chcesz poczytać,...

    Mikrokontrolery ARM   26 Lip 2012 18:42 Odpowiedzi: 10    Wyświetleń: 3624
  • AVR GCC wycieki pamięci, praca z dużymi tablicami char/ stringi

    Cześć! Poszukuję wsparci gdyż powstał mętlik w głowie. Mam program, który komunikuję się z modułem GSM, używa wielu globalnych tablic, funkcji operujących na strumieniach typu strcpy, str n cpy, strstr, strtok, poniżej wklejam większość deklaracji dużych zmiennych: Dodano po 1 Przeniosłem deklarację StackPoint z .int1 do .int3 i program zaczął wyświetlać...

    Mikrokontrolery AVR   13 Mar 2023 17:54 Odpowiedzi: 13    Wyświetleń: 726
  • Jak zastąpić opóźnienia w asemblerze na C dla I2C w kursie EDW?

    Próbuje rozgryść I2C w C, ale napotkałem mały problem. W kursie EDW do opóźnień używane sż wstawki assemblera, którego ni w ząb nie rozumiem. Zastanawiałem się czy jest możliwość zastąpienia ich opóźnieniami pisanymi w C? // Funkcja dłuższych opóźnień #if I2C_nhalf < 3 // Nic #elif I2C_nhalf < 8 static void i2c_xdelay(void) { NOP();...

    Mikrokontrolery   29 Lis 2011 19:14 Odpowiedzi: 3    Wyświetleń: 927
  • 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ń: 9188
  • 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ń: 3063
  • Jak skonfigurować ARM toolchain: integracja CodeSourcery, OpenOCD i Eclipse

    Dlaczego dostaję ostrzeżenie Takiej flagi nie masz, za to masz -Wall, chyba nie trzeba opisywać do czego służy. I dlaczego dostaję ostrzeżenie: ... Choć ta funkcja jest zdefiniowana jako inline w pliku fat/fs_tools.c? Czemu się dziwisz, skoro deklarację masz w pliku h, a definicję w pliku c? Jeśli funkcji tej nie zamierzasz udostępniać "zewnętrznie",...

    Mikrokontrolery ARM   22 Wrz 2017 13:17 Odpowiedzi: 374    Wyświetleń: 134396