O jesu. StrPas to funkcja przestarzala z czasow kiedy String byl zapisywany w postaci ShortString (ilosc znakow jako pierwszy bajt). Teraz PChar i String ot to samo wiec robisz String := PChar WskTxt := StrNew(PChar(text)); separator := ','; WskSep := StrNew(PChar(separator))... Wynik := ScanStrSP(WskTxt,...
Ad PS - w PHP funkcjonuje 'odśmiecacz' i nie ma potrzeby ręcznego zwalniania obiektów. Co do zasadniczego tematu - to PHP 4 czy 5?
Skąd w pliku Procedury.cpp ma być znana zmienna wy1? Możesz ją natomiast przekazywać jako parametr dla funkcji zapis_wyjsc().
Być może nie musisz przekazywać parametrów size1 i size2 - w Javie wielkość tablicy można z niej odczytać, w C nie ma takiej możliwości, więc trzeba przekazywać dodatkowy parametr. Oczywiście tylko jeśli w funkcji używasz całej tablicy.
Domyślnie w Bascomie parametry przekazywane są przez referencje, chyba że w deklaracji funkcji/podprogramu wykorzysta się parametr "byval".
Zauważyłem iż w Bascomie nie ma czegoś takiego jak funkcje i nie wiem czy istnieje coś w stylu zmiennej lokalnej. Przez 8 miesięcy helpa w dodatku w j. polskim nie przeczytać? Hmm... Przeznaczenie: Rozpoczyna treść funkcji użytkownika. Składnia: FUNCTION nazwa [ ( parametr AS typ [, parametr AS typ] ) ] AS typ_rezultatu instrukcje...
nie możesz zwracać dwóch wartości w taki sposób! Albo przygotuj strukturę, albo osobne funkcje, albo skorzystaj z referencji. To co widzisz, to po prostu śmieci z pamięci.
Masz takie same nazwy zmiennej globalnej i parametru przekazywanego do funkcji. W tej sytuacji lokalna zmienna przysłania globalną - czyli zmieniasz wartość kopii parametru przekazanego do funkcji. Możesz albo zrezygnować z parametru, zwracać wartość z funkcji, albo przekazać wskaźnik na zmienną. Jeszcze lepszym rozwiązaniem (z programistycznego punktu...
Nie powinien być. Kolego (at)rogeros czytaj uważnie warningi zgłaszane przez kompilator albo chociaż zamieszczaj tutaj log kompilacji. Znacznie to ułatwi rozwiązywanie tego typu problemów. Typ drugiego parametru przekazywanego do tej funkcji również generuje ostrzeżenie (ale to już po części wina mistrzowskiego designu API od ST...).
Struktury przekazuje się do funkcji tak samo jak typy wbudowane (int, double itp.). Poczytaj o przekazywaniu przez wartość i przez referencję.
odpowiednikiem nil w c++ jest NULL . a sprawdzenie wykonujesz zwykłym porównaniem: if (ProgressBar != NULL) { dzialaj(); } bądź krócej if (ProgressBar) { dzialaj(); } możesz też napisać w nagłówku funkcji void Funkcja(int Dane1, int Dane2, TProgressBar* ProgressBar = NULL); umożliwi to wywoływanie...
Najprościej napisać sobie procedurę lub funkcję i przekazywać parametry do funkcji. Zajmie wtedy najmniej kodu.
czyli w funkcję get_kbd muszę poszerzyć możliwość przyjęcia dodatkowych parametrów w moim powyższym przypadku - parametr az Można tak, można inaczej. Parametrami dla funkcji przekazywanej przez wskaźnik mogą być parametry aktualne funkcji wywołującej (jak w tym przypadku) lub np. zmienne lokalne czy globalne. Istotą tej konstrukcji jest wymienność...
PORTx to pewna 8-bitowa (czasami mniej) komórka w przestrzeni pamięci mikrokontrolera. Jeżeli dałoby się pobrać jej adres poprzez wskaźnik (podobnie jak dla zwykłej zmiennej, która także jest gdzieś w pamięci mikrokontrolera) może w ten sposób dałoby radę zrobić to na czym Ci zależy...? PO JAKIMŚ CZASIE: Przetestowałem coś takiego: (...) unsigned...
... ja używam makr: Te makra, to są Ci potrzebne jak umarłemu kadzidło :D Zastanów się, pomyśl, poczytaj, co to jest makro, do czego służy , z czym to się je i co się z nim dzieje w trakcie kompilacji. A sprawa z przekazywaniem adresów portów do funkcji, jest śmiesznie prosta- mały - przykładzik: [syntax=c]void f1(volatile uint8_t *port,uint8_t pin)...
Tzn debagujesz pod Mplab X? Pod ICD lub JTAG? Jeśli na powyższe pytania odpowiedzi brzmią TAK, to: - Jak możesz zrobić w Mplab X operacje typu "cast to type"? - Advanced watchpoint z warunkiem „if zmienna==zmienna1 && zmienna6 == 100" - Jak są przekazywane parametry funkcji typu *void (jak je zobaczyć)? Bo pod Eclipse w/w problemów brak. Jak odpowiesz...
Poprawiłem. Wiem, że goto nie powinienem tam użyć, ale jest to wersja robocza. W każdym razie dalej proszę o pomoc w rozwiązaniu problemu. Tu pomocy nie dostaniesz. Usuń to co napisałeś bo to herezje. Zacznij od nauki podstaw C. Jakiś kurs przeczytaj czy coś dopiero wróć. Po twoje poprawki zwiększają herezje. Funkcja która ma parametry przekazywane...
Pierwszy. Po co przekazywać nieużywany parametr tylko by mieć zmienną? Zmienianie parametrów w funkcji to trochę zły pomysł - zmniejsza przejrzystość kodu. IMHO takie różne clrscr na początku i readln na końcu to raczej nie są cechy profesjonalnego programu.
Co może być przyczyną takiego zachowania się układu ? Regulacja powinna być co 5/256 = 0.019 V. Spróbowałbym zacząć od debouncing'u. Styki mają przecież jakieś drgania. Zamiast tego możesz na próbę pominąć sprawdzanie styków, a zamiast tego w pętli for zmieniać wartość OCR1A z jakimś dużym opóźnieniem, przykładowo: //na początku dołącz #include <util/delay.h>...
no referencji używamy głównie do przekazywania funkcji parametrów z dwóch zasadniczych powodów: -umożliwienie modyfikacji danych w wywoływanej funkcji -przyśpieszenie wykonywania programu dzięki przekazaniu samej referencji zamiast całego obiektu Oraz wg mnie, z referencji korzysta się przyjemniej niż ze wskaźników... jeżeli chodzi o przekazywanie parametrów...
każda jest dla mnie cenna Może nie do końca na temat, ale: jeśli zmienna LicznikKonfiguracyjny jest globalna, to nie musisz jej przekazywać (jako parametru) każdej funkcji osobno. Każda z tych funkcji może się do niej (zmiennej globalnej) odwołać bezpośrednio. Zmiennych globalnych generalnie należy unikać. Np. w Twoim kodzie SredniaADC i WartoscADC...
#10#13 albo #13#10 (zawsze kolejność mylę :P), więc standardowo to dwa znaki. Ja się dużo prostszym komponentem w pracy posługuję i tam wartość odebrana jest przekazywana przez parametr funkcji.
int **podajMacierz(int A, int B) Przekazując w ten sposób parametry do funkcji przekazujesz tak naprawdę ich kopie a nie je same. Więc nie zdziw się, jeśli po wyjściu z funkcji ich wartość nijak się nie będzie miała do tego, co przypiszesz im wewnątrz, bo przypisujesz to do kopii. Zrób przekazanie przez wskaźnik (albo referencję jeśli to C++),...
Po to są zmienne globalne, aby można było z nich korzystać właśnie w taki sposób, jaki przedstawiłeś ;) Nie ma w tym niczego złego. To w jaki sposób będziesz przekazywał parametry do funkcji (lub korzystał ze zmiennych globalnych) zależy od tego, co chcesz robić daną funkcją, do czego ma służyć zmienna itp.
Witam! Czy ma to związek z tym, że próbuję wywołać funkcję typu uint16_t w funkcji typu void? W tym przypadku typ (tu: void) zwracanej wartości jest serdecznie obojętny. Przyczyna tkwi gdzie indziej, a mianowicie: Zasadą w języku C jest to, że parametry przekazywane są przez wartość, a nie adres. Tak więc zmieniamy jedynie kopie. Zmienne które zostały...
Twoja prośba jest trochę zbyt lakoniczna. Potrzeba trochę więcej informacji np. -czy korzystasz z Atmel AVR Assebler2 czy gcc-assembler - jak mają być przekazywane parametry do funkcji czy będziesz np podawał adres zmiennych zawierających czas, czy raczej parametry będą w rejestrach - czy masz już gotową obsługę I2C - ... I przy okazji może byś wyjaśnił...
Nie piszę w PHP już od dłuższego czasu, ale myślę, że wstrzykiwanie zależności jak najbardziej funkcjonuje - jeśli dany język tylko może przekazywać w zmiennych/parametrach funkcje (a jest to po prostu wskaźnik do kodu), to DI już istnieje.
Witam! Może tak: Zdefiniuj typ struturowy np tak: [syntax=c]typedef struct { double m[2][2]; } H;[/syntax]Zastosowałem tę sztuczkę dlatego, że typy strukturowe we współczesnych kompilatorach można przekazywać bezpośrednio jako parametry wywołania jak też funkcja może zwrócić bezposrednio w odróżnieniu od tablic, które można przekazywać tylko przez wskaźniki....
znajdź definicje _delay_us i zobacz w komentarzach jaki zakres wartości może przyjmować jej parametr. Pamiętam, że zależy to m.in od wartości F_CPU Generalnie zbyt dużych wartości nie można przekazywać, bo ta funkcja to głupie makro, które czasem źle liczy (dochodzi do przepełnień). To samo się tyczy _delay_ms też wartość parametru jest mocno ograniczona.
musisz po prostu albo zdefiniować globalną zmienną wskazującą na głębokość rekurencji, albo przekazywać to jako parametr funkcji. Na tej podstawie określasz indeks w tablicy.
tak jak piszesz reti używasz tylko do powrotów z przerwań, natomiast samo ret do powrotów z funkcji (podprogramów) aby dosyć jasno pisać kod należałoby się trzymać pewnej zasady, o którą czasem wiadomo ciężko ale... .... otóż po tei inicjalizacji robisz tzw pętlę główną (zamkniętą) - występuje ona w każdym języku wyższego poziomu jak Bascom lub C. czyli...
Źle interpetujesz parametry przekazywane do funkcji: MemAdres - adres w pamięci, to jest pełny adres komórki a nie adres strony MemAddSize - długość adresu , ten parametr określa w ilu bajtach mieści się adres przy czym należy tu używać predefiniowanych stałych I2C_MEMADD_SIZE_8BIT i I2C_MEMADD_SIZE_16BIT Dlaczego, bo jest trochę inaczej niż można by...
Da się coś takiego zrobić w c# aby nie inicjalizować tablic i parametry przekazywać na sztywno? Co przez to rozumiesz?? Tą funkcję co masz możesz wywołać pisząc: [syntax=csharp]zapytanie_zwykle( new string[] { "pole1", "pole2", "pole3" }, "tabela_nazwa", new string[] { "jakiś tam warunek" });[/syntax]
Pytanie do kolegów używających AVRGCC, jaka jest konwencja użycia procedur i funkcji napisanych w assemblerze pod kątem ich zastosowania w C. Jak przekazuje się parametry i w jaki sposób zwraca wyniki funkcji ?
Witam, to chyba w sumie proste. W języku C jakiekolwiek wyrażenie jest (w sensie logicznym) true jeżeli jest różne od zera . Jeżeli Delphi chce mieć wyrażenie stricte logiczne, musisz po prostu swój warunek zapisać tak, że wyrażenie (całe, które tam jest) jest różne od zera, w Delphi to chyba <>. Pascal jest bardzo mocno sformalizowany, bo powstał...
Przede wszystkim powinnaś załączyć plik Excela a nie obrazek. Na obrazku nie da się nic policzyć ani sprawdzić. A merytorycznie - po co tu makro? To ma być jakaś wprawka w pisaniu makr? Do tego typu obliczeń służą funkcje lub formuły - wystarczą funkcje wbudowane, ale jeśli ktoś woli, to może sobie napisać własną funkcję w VBA, tzw. funkcję UDF (user...
Jeśli makro ma się zachować inaczej w zależności od tego jak zostało wywołane, to trzeba dodać parametr przekazywany do funkcji lub procedury np. MessageVisible as boolean i gdy ma się pojawić ustawić go na true, a gdy nie, na false. Oczywiście sam program też musi być odpowiednio zmodyfikowany, aby sprawdzał wartość tego parametru...
niemniej jednak warto skorzystac z czyichs doswiadczen i wlasnie tego chcialbym dokonac To ja Ci dam praktyczną radę: Optymalny sposób przekazywania parametrów do funkcji zależy od konstrukcji uC i jeżeli chcesz go poznać to musisz podejżeć jak to robi kompilator C (napewno jakiś mądry człowiek to wymyślił). Często jest tak że skoro do funkcji najczęściej...
:arrow: Prymulka Witaj! już wczoraj mnie naszło, że jakiś czas temu miałem podobny problem z AVRSide no i sprawdziłem to inaczej. Wziąłem twój zarys kodu, wewnątrz funkcji sprawdzałem jaki parametr jest do niej przekazywany i obserwowałem dodatkowo zmiany page_count - ale robiłem to przez dystrybucję AVR_GCC z PN2 i AVRStudio. No i wyniki są takie -...
VC6 to strasznie muzealny zabytek - co cię przy nim trzyma? WINAPI to też nie jest coś w czym wygodnie się cokolwiek piszę, zaprzyjaźnij się np. z Qt. Znalazlem, ze musze skorzystac z funkcji i utworzyc nowy watek, uzyc "czekajacych" funkcji. Tak, w twojej funkcji CADlg::OnOK tworzysz wątek i uruchamiasz wątek (który będzie pobierać twoje dane), a sama...
do kolegi Dr_DEAD - sorki ale kolega chyba dużo z asemblerem do czynienia nie miał. Bo oczywiście co do meritum to się zgodzę że można ich używać naprzemiennie ze świadomością efektów drobnych niuansów w działaniu każdego z nich. Ale to jest poprostu wielka BZDURA z punktu widzenia pisania jasnych i przejrzystych programów. Pomijam jakieś wyjątki gdzie...
No coz tak to jest jak sie nie dokladnie przejrzy helpa... Przeznaczenie: Rozpoczyna treść funkcji użytkownika. Składnia: FUNCTION nazwa [ ( parametr AS typ [, parametr AS typ] ) ] AS typ_rezultatu instrukcje funkcji END FUNCTION gdzie: nazwanazwa funkcji, parametrnazwa parametru funkcji, typtyp przekazywanego parametru, typ_rezultatutyp danych zwracanych...
Niestety nie mam innego, ale spróbuję jeszcze bez FPU. Na pewno przekazują sie poprawnie a co masz namącone to niestety Ty tylko możesz wiedziec. Jak by kompilatory nie potrafilły przekazywać parametrów do funkcji, to ich używalność była by raczej mierna Przykład STM32F303 czyli ta sama rodzina (nie ma f na końcu bo użyta jest odpowienia opcja kompilatora)...
stm32f0xx_rcc.h to jest HAL albo SPL. Potrzebujesz w projekcie jeszcze odpowiednie pliki z "treścią" tych funkcji. iejsce tej funkcji w pliku dołączonej biblioteki Nie bo plik .h nie jest biblioteką tylko np zawiera prototypy funkcji aby kompilator wiedział jak np. przekazywać do niej parametry. Tak jak pisał (at)BlueDraco jak chcesz HAL zainstaluj...
W asemblerze da się to napisać w postaci pętli bez problemu. Spokojnie mógł bym to napisać, tyle że jest dużo szczegółów do obgadania - ja w asemblerze pisze tylko dla WinAVR, nie dla Codevision, więc niewiem jak są przekazywane parametry do funkcji w asemblerze, jak się dodaje wstawki, ile trwa jeden przebieg przy próbkowaniu ciągłym (musiał bym się...
Wszystkie printf i scanf z parametrem :roll: Przekazujesz im referencje wskaźników a powinieneś sam wskaźnik... Pozdrawiam, GSM
Przy czasach na poziomie sekund, minut to nie jest to żaden problem. Jeden timer ustawić na stałe przerwanie np co 100ms, w przerwaniu od tego timera przeglądać jakąś tablicę, w której każdy jeden element odpowiada jednemu programowemu licznikowi. Zmniejszać liczniki w elementach w tej tablicy, po czym po wyzerowaniu się wywołać jakąś funkcję. W moich...
W pewnej bibliotece w pliku C znajduje się zmienna tablicowa o takiej definicji: char8x8 font6x8[] = { ... }; W pliku H jest tylko typedef const rom unsigned char char8x8[8]; Czy jest możliwość aby z poziomu maina odnieść się do tablicy font6x8? Potrzebuje wskaźnika do niej. Gdzie go zdefiniować? Docelowo wskaźnik ten ma być...
Hej. Z tego co wyczytałem masz zamiar pisać w assemblerze. Czy środowieskiem będzie AVR Studio? Jeżeli nad projektem ma pracować kilka osób to trzeba określić jasne reguły gry, czyli np: 1. Każda funkcja która może być wykorzytana w kilku miejscach programu musi być w oddzielnym pliku (module). 2. Sposób przekazywania parametrów do funkcji i organizacja...
To bardzo fajny dokument Marku (dokładnie opisuje to czego bm chciał się dowiedzieć) lecz kompilator C (u mnie gcc) jest zupełnie inny i są zupełnie inne rejestry asemblera dla przekazywania parametrów do funkcji i zwracania z niej wartości. Mam jeszcze z tym problemyoraz z wykorzystaniem przerwań w funkcjach napisanych w asemblerze. Czy może ktoś ma...
Wielkie dzięki za wszystkie wyjaśnienia, dużo mi pomogly. Temat troche zeszedl na inny watek ale ja powróce jeszcze do moich wątpliowsci. Chcę mój wskaźnik na strukturę albo zmienną (no właśnie co lepiej?) tworzącą tą strukturę w pamieci przekazywac jako parametr różnych funkcji. I teraz jak jest lepiej? typedef struct TFrame_LCD { uint8_t line1_start;...
Przejmowanie połączeń do innych abonentów to jest usługa w centrali abonenckiej. Ten faks ma usługę: "Funkcja przekazywania faksu" (parametr 54) Wyłacz to.
W przypadku bibliotek dynamicznych, jak wcześniej pisałem, trzeba zrezygnować z tak wysokiego poziomu abstrakcji na rzecz WinAPI i najlepiej standardów przekazywania parametrów zgodnych z Windows (nie z Delphi), szczególnie tyczy się to stringów. W przypadku funkcji graficznych, jak wcześniej pisałem, trzeba operować na DC obiektów i rysować z użyciem...
Musisz porobić sobie funkcje, gdzie będziesz mógł przekazywać parametry do odpowiednich serw.
Tutaj nie chodzi o zwracanie wartości tylko o przekazywanie parametrów. Twoja funkcja przyjmuje jeden parametr, w jej deklaracji jest napisane: double PrzeliczTemp(double tempF) Oznacza to, że funkcja zwraca jakąś liczbę typu double, i jako parametr musi dostać inną liczbę typu double. W tej funkcji, i tylko w niej, ta liczba znana jest jako...
Ogólny wzór na taki przypadek to: y = (x*4)/255 + 1 gdzie x to wartość ADC, a y to wartość dla funkcji. Jednak, tak jak pisał BlueDraco, w tak prostych przypadkach unikaj liczb zmienno-przecinkowych (a'propos, jak już pytał dondu, jaki język?), a już na pewno przy przekazywaniu parametrów do funkcji. Przy założeniu, że jest to c to zapis powinien wyglądać...
krzyfn : Jeśli funkcja potrzebuje miejsce na zmienne lokalne, to zaraz po skopiowaniu ESP do EBP zmniejszasz ESP np o 16 - zostanie przydzielone 16 bajtów lub inaczej mówiąc 4 DWORD'y dostępne przez Dodano po 14 Co do przekazywania wskaźnika - nie wiem w czym problem. Wskaźnik to nic innego jak zmienna zawierająca adres. Tak więc musisz pobrać ze stosu...
Argumenty przekazywane do funkcji Dodawanie zostają umieszczone kolejno w rejestrach r24 i r22. Moje pytanie brzmi: co zrobić, aby zadziałało przypisanie: wynik = Dodawanie(a,b). To już wiemy że dwa pierwsze parametry przekazywane do funkcji powinny wylądować w r24 i r22. A w jakich rejestrach powinien się znaleźć wynik dodawania aby został zwrócony...
Aż tak szeroko nie analizowałem. Ale spróbuj po pierwsze zredukować liczbę wywołań funkcji - to jest dość kosztowne. Po drugie chyba zbyt często wywołujesz Application.ProcessMessages. Po trzecie, jak wspominałem, unikaj przekazywania przez wartość parametrów! Zerknij do tego linka, co mam w stopce na samym dole. Może coś jeszcze Ci się nasunie ;)
kriss, według Ciebie jak powinna wyglądać ta definicja? No ale z tą definicją masz dokładnie ten sam problem co z włączaniem SPI1 i SPI2 w RCC które poruszyłem wcześniej. To NIE JEST definicja przeznaczona do wpisywania do rejestru, tylko do przekazywania jako parametr funkcji do SPLa. To co wpisujesz do rejestru musi się ZAWSZE nazywać tak UKLAD_REJESTR_BIT_......
Funkcja zwraca wartość i używa się jej tak: zmienna= funkcja (). np. x=cos(200), x=int(zmienna) do funkcji można przekazywać parametry, ale nie trzeba, Procedura nie zwraca wartości i używa się jej tak: procedura -np cls, lcd "COŚ: do procedury można przekazywać parametry, ale nie trzeba
Definiuję funkcję z parametrami przekazywanymi przez referencję. Fragment kodu: void test(char *tekst, double &d, int &error, int a, int b) { //treść funkcji } kompilator zgłasza błąd w nagłówku funkcji: Error expected ';', ',' or ')' before '&' token Ten sam kod poprawnie kompiluje się i działa w DEV-C++ Błędu nie ma jeśli zamiast...
Zobacz w pomocy polecenie GOSUB i CALL, bo pomieszałeś te polecenia. Dodano po 11 Do podprogramu możesz skoczyć poleceniem GOSUB i nie deklarujesz go. 'podprogram: Etykieta: 'etykiety kończymy dwukropkiem 'coś zrób Return Procedurę lub funkcję musisz zadeklarować i podać jakie parametry będą przekazywane. Jej treść musisz umieścić używając SUB...
wielkie dzięki za sugestie, w związku z tym, że dopiero intensywnie uczę się Bascoma, to dlatego nie zawsze jeszcze jestem w stanie na szybko doszukać się odpowiednich poleceń w helpie jak podany przez ciebie Instr ;) również odnośnie tych paramterów $hwstack, $swstack, $framesize i ustalania ich wartości nie jestem jeszcze w pełni świadomy jak z nich...
Ostrzeżenie jest zrozumiałe i Piotrus_999 podał jedną z opcji jego eliminacji. Problemem jest, że w funkcji TWI_read masz na stałe zaszyty adres układu podłączonego do i2c, przez co nie możesz odczytać nic z innych układów, tutaj MAX6634. Możesz to rozwiązać dodając jeden parametr więcej do wywołania funkcji - adres układu. Możesz też stworzyć strukturę...
To po co jest rozróżnienie? Kompilator GCC powinien być w teorii identyfikowany przez kilka parametrów - generalnie architekturę i system operacyjny. Tutaj mamy ARM i nie mamy systemu, jest więc ARM i none, a EABI to takie dookreślenie interfejsu binarnego stosowanego przez kompilator (EABI - standard wprowadzony przez ARM). Chodzi właśnie o to, jak...
A czemu chcesz się przesiąść ? Bo jeśli liczysz na lepszą jakość generowanego kodu to poza IARem, gcc nie ma specjalnej konkurencji. Porównywałem niedawno jakość kodu generowanego przez CodeVision, Imagecraft, IAR, gcc. Nie porównywałem jakiś wielkich programów, tylko sposób generowania najprostszych pętli (np. while((c=*Str++)!=0) SendByte(c);), inteligencję...
Proszę o radę tak jak w temacie w jaki sposób mogę dokonać takiej konwersji? Plik asemblera dla x86. Może jest ktoś kto mógł by mi to "przepuścić" u siebie przez jakieś środowisko DOS'owskie lub inne które to umożliwi? Bardzo proszę o pomoc. Dodam że program napisany w C jest bardzo krótki i nieskomplikowany. Mniej więcej dotyczy: realizacji funkcji,...
Disassembler to program, który tłumaczy skompilowaną postać binarną programu dla danego procesora z powrotem na mnemoniki assemblera danego procesora. Oficjalnie służy to do odzyskiwania kodu programu w przypadku zaginięcia jego kodu źródłowego lub poprawianie wersji binarnej programu. "Nieoficjalnie" służy do operacji zwanej "reverse engineering" czyli...
Może i ma sens to o czym mówisz, ale i tak nie wiem jak przebrnąć przez to w przypadku stosu przydzielanego dynamicznie, prawdopodobnie musiałbym w źródłach RTOSa i malloca pogrzebać lub stworzyć oddzielną funkcje do przydzielania stosu. Objawy są właśnie takie jakby parametry były źle do funkcji przekazywane, wszystko działa, a sprintf wyświetla bzdury.
-Os to optymalizacja na rozmiar i sugeruję ci tak zostawić. Zrozum, że kompilator zrobił dobrze, tylko ty napisałeś zły program... Skoro twoje zmienne nie są dalej używane, to są zbędne = zostają usunięte. Skoro warunek pętli - jakakolwiek by nie była wartość x - będzie spełniony tylko i wyłącznie RAZ, to nie ma potrzeby robić do tego pętli, tylko instrukcje...
Możesz traktować dany pin jak zmienną (i np. przekazywać pin jako parametr funkcji), bez używania do tego rejestrów o których piszesz (ja np. nigdy w życiu ich jeszcze nie użyłem). Poza tym w jednych Cortex'ach takie rejestry są (STM32), w innych już ich nie ma (LPC17xx, choć trochę podobny efekt można osiągnąć z użyciem rejestrów maskujących). Poza...
bezposrednio nie jest to mozliwe tak jak ze zwroceniem wartosci liczbowej. funkcja w c moze zwrocic tylko JEDNA wartosc. moze zwrocic wskaznik - czyli jakby poczatek tego stringa. tyle ze zaalokowane wewnatrz funkcji zmienne po jej zakonczeniu sa zwalniane i nalezy zalozyc, ze przestaja istniec. oczywiscie wiadomo, ze przez chwile cos tam na tym stosie...
Funkcja nie "daje" wskaźników tylko przyjmuje (elementy w nawiasie przy nazwie funkcji oznaczają parametry przekazywane DO funkcji). W tym przypadku po prostu wskazujesz funkcji gdzie chciałbyś aby ona zapisała wynik pomiaru. Po jej wywołaniu masz już wynik (o ile istnieje dany czujnik i działa) w zmiennych subzero, cel, cel_frac_bits. I już możesz...
Ten caly kod jest strasznie zamieszany. 1. Dlaczego funkcje dodaj_rekord wywolujesz jako zawartosc classy: "$zb->dodaj_rekord($table, $data=array());", skoro ona jest zdefiniowana osobno, a nie w classie "db" ? 2. Nawet jak poprawisz juz wywolywanie tej funkcji to pamietaj, aby parametry przekazywane do niej byly prawidlowe. W samej funkcji dzialasz...
Witam! Poza tym masz funkcję w funkcji, co jest szczęśliwe. Unikaj też zmiennych globalnych Otóż, w przeciwieństwie do np Delphi czy Pascal, w języku C jak i C++ niedopuszczalne jest zagnieżdżanie funkcji (definiowanie funkcji wewnątrz innych funkcji). Funkcje mogą być tylko zewnętrzne. Funkcje też nie mogą być na liście parametrów jako zmienne, ponieważ...
Dziwią mnie te pierwsze porównania - w kółko porównujesz ciąg pusty z "I'm from clothespins, " Następnie dwa sensowne i znów to samo... Coś nie tak ewidentnie. Wniosek 1: Funkcja porównująca jest ok. Parametry doń przekazywane - niebardzo. To jeszcze jedno... Zapisz wyświetlanie całej tablicy ze stringami na początku każdego przebiegu pętli przeszukującej...
Wskazuje na funkcje które dostępne są w bibliotekach (nie mylić z "bibliotekami" czyli modułami kodu). W sumie to nawet tam jest to chyba zbędne. 4\/3!! Jest zbędne, linker połączy symbole. extern jest niezbędne dla funkcji chyba tylko w przypadku kiedy korzystamy z tego samego pliku nagłówkowego w C i C++ - jako extern "C" - zapewnia właściwe manglowanie...
Napewno nie tylko przy skokach do przerwan ale takze przy wywolywaniu funkcji (musi istniec adres powrotu).Generalnie AVR jako przedstawiciel rodziny z duza iloscia rejestrow ogolnego przeznaczenia przekazuje parametry do funkcji za pomoca rejestrow procesora.W architekturach "ubogich" w rejestry gdzie wystepuje zazwyczaj akumulator i ewentualnie jeden...
MinisterQ - cos sciemniasz z tymi parametrami do funkcji przekazywanej jako wskaznik. W czym konkretnie miales problem? Podobnie ilosc rejestrow - piszac w C masz pewien poziom abstrakcji od sprzetu, zabawa z rejestrami moze posluzyc do napisania optymalniejszego kodu, ale nigdy nie jest to problemem. Kompilator powinien sie wszystkim zajac sam.
Posiadam sygnał EMG, który był próbkowany z częstotliwością 4000Hz przez 5s. Potrzebuję otrzymać jego widmo z użyciem Matlabowej funkcji fft, którego współczynniki chcę przekazać jako wejście sieci neuronowej. Oczywiście wiem jak tego dokonać, lecz mam kilka pytań. Wstępnie podczas robienia transformaty przekazywałem 32768 jako parametr dla funkcji...
Witam Czy mógłby mi ktoś wskazać jak skonfigurować serwer www tak aby przekazywać parametry w linku nie za pomocą funkcji GET lub POST tylko w formie zmiennej zawartości linku. Dla funkcji GET lub POST wygląda to typowo tak www.mojastrona.com/get?parametr1=wartosc... ja potrzebuje przekazywać parametry w linku w formie jak poniżej: www.mojastrona.com/wartosc1/wartosc2...
chcę osiągnąć coś takiego: Declare Function Set_by_spi(co As String*10 , Wartosc*40 As String , Procesor As Byte) As Byte A co to za zmienna Wartosc*40 ? Poza tym zmiennych w parametrach się nie wymiaruje. Wszystko dlatego, że w przekazywaniu parametrów uczestniczą tylko wskaźniki do zmiennych. Nie użyłeś ByVal więc kompilator przekaże 16-bitowy...
w pętli funkcji write_text() jako parametr nie przekazujesz łańcucha znaków tylko pojedynczy znak, więc powinieneś zastosować funkcję wysyłającą pojedynczy znak np.: write_char(bufor[i])
Myślałem żeby załaczyć Ci mój projekt ale - 1. jest komercyjny 2. jest zbyt myślę złożony Tak że na szybko sama idea - jest to zrobione w 5 minut i skrypt linkera powinno sie przerobic lepiej. Funkcje też są do kitu - bo parametry trzeba przekazywać wskaznikiem do nich) wtedy nie jesteś ograniczony ich ilościa itd itd. Nie jest to reentrant i bezpieczne....
Funkcje nie są static - wiec mogą być używane z innych modułów. W takim przypadku kompilator nie może zmieniać sposobu wywołania (w tym przekazywania parametrów) bo nie zna wszystkich miejsc wywołania funkcji i nie wie, jaki kod został tam użyty. Trzeba pamiętać, że kompilator C/C++ kompiluje każdy plik źródłowy oddzielnie "wiedząc" tylko to, co jest...
Tak, jesli do funkcji nie przekazujesz żadnych parametrów, stosujesz () , Jesli do funkcji przekazujesz jakieś parametry, umieszcza jej właśnie w nawiasach np.: void do_przodu( predkosc ) { analogWrite(PIN_1, predkosc ) }
Możesz zamiast podporogramów zrobić po ludzku funkcje i przekazywać do nich liczba_krokow jako parametr z opcją by val czyli przez wartość a nie broń boże przez referencję czyli by ref Dodano po 4 No i co z tego że rozumiem sprzęt- jak programista ze mnie jak z koziej ...trąba. Ty nie opowiadaj tu takich banialuk nie z tej ziemii ;) bo całkiem nieźle...
Weź ty sobie zamiast przekazywać tej prędkości jako parametr funkcji (i tak przecież w trakcie działania programu nie zmieniasz prędkości) - zrób tak: #define UART_BAUD 19200 #define __UBRR (F_CPU/16/UART_BAUD-1) a potem w kodzie tejże funkcji: UBRR0H = (uint8_t)(__UBRR>>8... // ustaw prędkość transmisji UBRR0L = (uint8_t)__UBRR;...
To ja jeszcze dorzucę swoje 3 grosze... ;) Możesz tak napisać, jeśli użyjesz kompilatora C++. Czyli zamiast avr-gcc używasz avr-g++ - są pewne niuanse przy kompilowaniu kodu C przez kompilator C++, ale właściwie są to różnice tylko na plus :) Jeśli chodzi o funkcje varadic, to muszą one przekazywać parametry na stosie (domyślnie parametry są przekazywane...
Chodzi o to ze parametrem tej funkcji jest wskaźnik, a ja jako parametr do tej funkcji przekazuje adres stalej. I z tad ten warning. I teraz nie wiem jak sie tego warninga pozbyc. Na moje oko parametrem jest uint8_t - czyli liczba, a przekazywana jest stała, nie żaden adres. Możesz zamieścić cały plik z zaznaczonym miejscem tego warninga?
Dzięki arnoldziq! :] Taki głupi błąd, a ja się motałem. Tylko za bardzo nie rozumiem tego, czemu wcześniej program mi działał poprawnie, gdy do tej funkcji były przekazywane dwa parametry, a powinna być z trzema, tak jak zaproponowałeś. Jesteś w stanie mi objaśnić co ten parametr robi? Przy okazji mam jeszcze jedno pytanko. Jeśli bym chciał skopiować...
Witam, Mam prośbę o sprawdzenie zadania: Napisz funkcję zliczającą ilość elementów o polu k większym od sumy pól k dwóch ostatnich elementów listy lub o polu inf o ilości znaków większej od wartości przekazywanej przez parametr funkcji. Dany jest node* nastepny (next). [syntax=cpp] struct node { int k; string inf; node* next_adres; }; struct list {...
Tak. Ale co chcesz przekazywać w parametrze w takim układzie, jak obecnie? Zwróć uwagę, że wynikiem funkcji jest znak, a nie tablica znaków. Ponadto ten wynik bezpośrednio przekazujesz do strumienia wyjściowego, więc co po t?
Czyli mam przywiechę na funkcji: jpeg_start_compress(&cinfo, TRUE); No i nie wiem co z tym zrobić. Właśnie do tego przydają się JTAGi Mam nieodpowiednie przekazanie parametrów do funkcji compress_jpeg, ale kompilator wywala tylko warninga więc chyba dokonuje odpowiedniej konwersji (samemu robi wskaźnik). Próbowałem też przekazywać bezpośrednio wskaźnik,...
warning: passing argument 1 of 'string_compare' discards qualifiers from pointer target type Przeczytaj uważnie ostrzeżenie od kompilatora, spójrz na deklarację string_compare i na miejsca gdzie korzystasz z tej funkcji (typy przekazywanych parametrów, a dokładnie ich kwalifikatory). Powinno ci się rozjaśnić na co zwraca twoją uwagę kompilator. Pozdrawiam,...
Jeśli chcesz to zrobić bez instrukcji przypisania, to używasz tzw. transformacji "worker-wrapper" (po polsku pracodawca-pracownik? :P) Dodatkowym plusem jest fakt, że tak wyrażona rekursja jest rekursją ogonową (wywołanie rekurencyjne jest ostatnią operacją wykonywaną w funkcji, stąd rekursję prosto da się zamienić na iterację). Oczywiście kod napisany...
(at)robgold Prościej tego nie da się chyba wytłumaczyć: [syntax=c]// Funkcja, która będzie wykonywana w zadaniu void taskFunction(void *pvParameters) { while (true) { // Kod zadania np. audio.loop() vTaskDelay(1 / portTICK_PERIOD_MS); // Opóźnienie 1 milisekundy } } void setup() { ... // Tworzenie zadania xTaskCreatePinnedToCore( taskFunction, // Funkcja...
To ten wykres masz w Form1 czy Form2? Skoro wiesz jak przekazywać parametry między formami, na czym polega problem?
Gdzie będzie zmienna _bit jest bez znaczenia, ten kod zawsze musi działać poprawnie. Jeśli zależy ci na prędkości to zamień switch/case na tablicę zawierającą kolejne maski na odpowiednich indeksach. Masz gwarantowany stały, najkrótszy możliwy czas konwersji. Co do przekazywania wskaźnika do IO - jeśli parametr nie jest volatile to kompilator nie wywala...
przekazywać parametr parametr przekazywać przekazywać tablica funkcja
uniwersalne sterowniki karty graficznej przesuwanie tekstu amilo instrukcja
wiertarko wkrętarka wiertarko wkrętarka
Mercedes A160 1999 nie odpala po postoju - przyczyny i rozwiązania Port ładowania w laptopie California Access 2700T