https://obrazki.elektroda.pl/3221612800_... Witajcie moi drodzy. Zapraszam na relację z postępów prac nad otwartym firmware dla BK7231T. Temat ten napisany będzie w formie tutoriala, przedstawię tu krok po kroku jak opracowałem własny, wieloplatformowy (działający na Windowsie i BK7231T) mini-serwer HTTP, system konfiguracji pinów...
Witam! Hmm... Na początku to trochę rozwlekłeś strukturę. Niepotrzebnie pola: imię, nazwisko, dzień, miesiąc, rok zdefiniowałeś jako tablice dwuwymiarowe a konkretnie niepotrzebnie dodałeś indeks 1 czyli tam, gdzie masz po 10. Powinieneś zadeklarować zgodnie z sugestią Kolegi krru czyli: [syntax=c]struct dane { char imie[30]; char nazwisko[30]; int...
No przecież napisałem, że się nie da. Wskaźnik nie przechowuje żadnej innej informacji poza adresem (początku) zmiennej. W związku z tym, jeżeli funkcja potrzebuje rozmiaru, to trzeba go przekazać jako dodatkowy argument. Kolejny raz już nie będę tego powtarzał. Oczywiście, można sobie wszystko opakować w pseudoobiekty w stylu typedef struct {...
Robi to się tak: - najpierw init, w którym wskazujesz na port do nasłuchiwania i wskaźnik na funkcję która jest handlerem odebranej wiadomości: struct ip_addr *addr będziesz miał adres nadawcy.
Dorzucam opis programu i sterownika: [syntax=c]// Deklaracja struktury danych przechowującej parametry silnika krokowego typedef struct {...} Stepper_t; // Inicjalizacja struktury danych przechowującej parametry silnika krokowego // me - wskaźnik na strukturę przechowującą parametry silnika krokowego // number_of_steps - parametr silnika określający,...
Najszybciej i najprościej to // najwiekszy element ma isc na koniec listy a ilosc wezlow ma sie nie zmienic!!!! #include <iostream> using namespace std; //Tworzenie struktury struct Node{ int dane; Node* next; }; void addToList(Node*& head, int dana); //posyłam wskaźnik przez referencję, żeby funkcja miała oryginał head void...
https://obrazki.elektroda.pl/4024708700_... Witajcie moi drodzy. Przedstawię tu pierwszy na świecie tutorial programowania modułu WiFi WB2S, czyli BK7231. Moduł ten występuje w wielu urządzeniach smart home, a w internecie panuje opinia, że nie można stworzyć dla niego własnego firmware. Nic bardziej mylnego - pokażę tu krok po kroku...
Jeśli zaś wywołana funkcja wywołana nawet z takiej pętli będzie miała argument bez volatile to w odróżnieniu od pętli głównej main() która nie wie co się dzieje w komórce pamięci 0x0060 - to nasza funkcja otrzyma prawidłowy adres argumentu ! i na wejściu odczyta aktualną - zmienianą w przerwaniu wartość tej komórki. Absolutnie nie. To zależy od kompilatora...
Witam! Należy najpierw zdefiniować gdzieś zmienną typu (struct pole) np: struct pole {...} MOJASTRUKTURA; wypełnić jej pola i potem przekazać ją do funkcji liczPole w sposób: liczPole(&MOJASTRUKTURA, nRuch) a wewnątrz funkcji odwoływać się w sposób np: x = g -> jakiespole; bo mamy do czynienia ze wskaźnikiem do typu (struct pole)
http://obrazki.elektroda.pl/2126980700_1... System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
https://obrazki.elektroda.pl/7393623100_... Witajcie, dziś dla odmiany mała zabawa programistyczna. Przedstawię tu jeden prosty trik na oszczędzanie pamięci przy zapisie typu integer w języku C i nie będzie to po prostu rada w stylu "użyj typu 8-bitowego zamiast 32-bitowego". Pokazany tu typ sam dobierze sobie potrzebną ilość bajtów...
(at)ElektrodaBot trochę poprawiłem stepgen.c, przeanalizuj go i jeśli ma błędy, wygeneruj nowy. Bezpośrednia odpowiedź na pytanie Poniżej prezentuję przykładowy, kompletny plik „stepgen.c”, który integruje input shaper (ZV lub MZV) pracujący domyślnie z częstotliwością rezonansową 22,2 Hz i tłumieniem 0,1. Kod zawiera bazową funkcjonalność stepgen...
Opierając się na tych założeniach napisz pełną bibliotekę w AVR gcc ze wszystkimi omawianymi funkcjonalnościami Tworzenie pełnej biblioteki czcionek w AVR GCC, która spełnia wspomniane wymagania, jest dość złożonym zadaniem i wymaga więcej niż krótka odpowiedź w tym formacie. Jednakże, mogę zarysować kluczowe elementy takiej biblioteki i podać przykładowy...
Mam trzy zadania z asemblera jak by je ktoś mógł rozwiązać to był bym mu bardzo wdzieczny. 1. Napisać w asemblerze procesora 8086 funkcję z języka C: struct Dat {long y; char c; long a; long b;} void fun(struct Dat *x) {x->y = x->a - x->b >> x->c;} 2. Napisać w asemblerze dowolnego procesora funkcję z języka C: char * strrev (char *s), która zmienia...
Witam szukałem w Internecie ale nic nie znalazłem. Czy ten kod jest poprawnie napisany? Czy zwracanie wartości poprzez wskaźnik jest nieeleganckie? Funkcja jest wymyślona, żeby zobrazować problem. [syntax=c] struct data { double t1; double t2; double t3; double wynik; }; double oblicz (int a, int b, struct data *m) { m->t3 = (m->t1 + a) * (a + b) /...
Problem nie tyle,że nie działa, ale jak to zrobić elegancko i z finezją. Jest tak: 1) mam dużo struktur, ale wszystkie takie same struct mier { int d0; int d1; ....itd }; ilość składowych nie gra teraz roli deklaruję potrzebne mi struktury i wskaźnik na nia: struct mier struk1, struk2, struk3,.........., *w_struk; teraz clou programu - muszę działać...
Właśnie wymyśliłem dlaczego nie da się tego wykonać. Funkcja pobiera wskaźnik i tworzy jego kopię (tak jak kopiuje wartość jeśli pobiera zmienną). Czyli w tym przypadku pobiera NULL, co jest tak na prawdę niczym (nie odnosi się do żadnego miejsca w pamięci). W tym przypadku można by po prostu zaalokować pamieć w mainie, ale w rzeczywistości próbowałem...
Mam strukturę zawierającą różne typy zmiennych- ze względu na to że trzymam ją w eepromie i chcę zaoszczędzić miejsce, nie chcę ich wyrównywać do najszerszego typu. Zmienne te chciał bym przekazywać za pomocą wskaźnika do funkcji która je zmodyfikuje. I tu pojawia się problem z typami. Jak to ogarnąć?
Potrzebuję znać zapis następującego wskaźnika: wskaźnik na funkcję przyjmującą wskaźnik na void, a zwracającą wskaźnik na funkcję która przyjmuje wskaźnik na void (a zwraca wskaźnik na funkcję, która przyjmuje wskaźnik na void a zwraca wskaźnik na funkcję która przyjmuje wskaźnik na void i zwraca wskaźnik na funkcję, która przymuje wskaźnik na void...
Przeważnie jest tak, że wskaźnik jest tego samego typu co zmienna, na którą wskazuje (przynajmniej tak gdzieś wyczytałem). Jednak co w przypadku gdy wskaźnik wskazuje na element struktury? Wówczas powinien on być typu struktury czy elementu? Oto przykład, jest taka oto struktura: typedef struct { unsigned char hundsecs: 8; unsigned char seconds:...
Witam, mam nadzieję, że to błachy problem ale nie wiem jak sobie z nim poradzić. otóż mam np jakąś zmienną oraz prostą strukturę: uint8_t licznik = 4; struct { uint8_t *wsk; } mystruct; i teraz gdzieś w kodzie robię sobie np taką operację: mystruct.wsk = &licznik; i to powyżej działa - i jak mam nadzieję - dobrze rozumiem to po tej operacji...
Witam Mam pewien problem z poprawnym zapisem deklaracji funkcji zwracajacej wskaznik do typu 3 int. Kompilator ciągle wyrzuca mi błąd, a już mi się pomysły kończą. W sieci nie mogę znaleźć żadnych przykładów. Przekazuje do funkcji podtablice 3 int i chce taki sam typ zwrocic czyli wskaznik do 3 int. Jest w ogole mozliwe cos takiego? No bo zapis int**...
Witam Mam takie pytanie. Jak napisać w C funkcje, która będzie przeszukiwała mi strukture i zwracała liczbe wystąpień wartości podanej jako parametr?
Cześć, Próbuję napisać bibliotekę obsługującą kilka układów MCP23S17 po SPI niestety zatrzymałem się w momencie przekazania przez wskaźnik lini csPin sterującej konkretnym ekspanderem. Poniżej umieściłem kod, obrazujący problem. Jako że funkcję "EXP_WriteOutput(&expand);"w pętli MAIN chcę mieć jedną, problem pojawia się jak w funkcji "EXP_SetRegister"...
Mam dziwny problem ze wskaźnikiem na funkcję. W kodzie jak poniżej pole initDriver nie jest inicjowane adresem funkcji (0x0800ecd0), tylko jakby popsutym (0x8800ecd1). Wygląda jakby coś niepotrzebnie ustawiało dwa bity w adresie, najmłodszy i najstarszy. Jakie może być wytłumaczenie? [syntax=c] drv = (struct at_ble_drv_t*) ble_memalloc(sizeof(struct...
"Natomiast przekazując "a" jak przez wartość nie wiemy, czy w sygnaturze argumentu funkcji nie czai się referencja, która znienacka coś nam w zmiennej "a" zmodyfikuje (znaczące nazwy funkcji pomagają)." Przecież i tak musisz patrzeć jakie funkcja przyjmuje argumenty a tam zobaczysz &, no moze jak ktos patrzy w kod, bez zaglądania, co funkcja przyjmuje,...
Witam, mam za zadanie napisać jak w temacie funkcje wykonujące kolejno następujące czynności w liście DWUKIERUNKOWEJ: - wyświetlenie aktualnej wartości wskaźnika roboczego - przesunięcie wsk. roboczego w przód - przesunięcie wsk. roboczego w tył Problemem jest to że nie wiem jak ma być zapamiętywana aktualna pozycja aby możliwe było przesuwanie tego...
Witam wszystkich serdecznie. Mam parę pytań dotyczących takich programów: 1. Kalkulator RPN (jest to plik źródłowy modułu): [syntax=c]#include "rpn.h" int push(elem** stos, int dana) { elem* pom =(elem*) malloc(sizeof(elem)); pom->dana=dana; pom->nast=*stos; *stos=pom; } int pop(elem ** stos) { int a=(*stos)->dana; elem* pom=(*stos)->nast;...
https://obrazki.elektroda.pl/5705697300_...
Rozbudowuję moją aplikację o dynamiczną alokacje pamięci - prosty stos FIFO. fifo.c Warning implicit declaration of function 'push' - jak to interpretować? kompilator myśli, że deklaruje po raz kolejny funkcje push? Na tym etapie z warningami, stos FIFO działa poprawnie. Kiedy próbuję dodać na początek pliku main.c , bibliotekę fifo.h , zaraz otrzymuje...
Witam Czy funkcja do obsługo EEPROM w avr z biblioteki avr/eeprom.h zapisuje dane w pamięci w konwencji little endian czy big endian? Zamieszczam fragmenty kodu: [syntax=c] typedef struct { char znak_c; uint16_t adr_znak; }ADR_ZNAK; ....... #define EEPROM_adresy_znakow ((ADR_ZNAK*)0x00) #define znaki ((ZNAK_KOD*)(((ADR_ZNAK*)EEPROM_adresy_z...
Mam problem z usuwaniem elementow z listy jednokierunkowej cykilcznej. Funkcja ma usuwać element na który w danym momencie wskazuje wskaźnik i przesuwac go na nastepny element. Jak to zrobić ? Zakładam że struktura listy jest taka : struct lista { int wartosc; struct lista *nastepny; }; A wzkaźnik pokazujacy obecny element nazywam marker->nastepny....
Czołem, Od kilku dni stawiam pierwsze kroki z mikrokontrolerami AVR, stanąłem przed problemem z którym nie mogę sobie poradzić stąd moja prośba. Czy ktoś mógłby mi wytłumaczyć łopatologicznie taką kwestę? Piszę algorytm obsługi wielopoziomowego menu, wszystkie pozycje trzymam w takiej oto tablicy: [syntax=c] const menu_obiekt menu[] = { // id, rodzic,...
Prosiłbym o wspólne przeanalizowanie tego kodu i poprawienie mnie w miejscach gdzie się mylę. Kod napisany przez gaskoin : [syntax=c] typedef struct Blower Blower; typedef struct { void (*handle)(Blower*); } BlowerState; struct Blower { int power; BlowerState *state; }; void blower_idle_state_handler(Blower*); void blower_mega_state_handler(Blower*);...
Ponownie witam wszystkich :) Tym razem przytrafił mi się problem natury programistycznej. By nie "zmuszać" chętnych do pomocy, najpierw zdanie o problemie, później naświetlenie sytuacji :) Problem: Funkcja nie wpisuje wartości do zmiennej pod wskaźnikiem przekazanym w parametrze :( A teraz naświetlenie sytuacji: Posiadam funkcję generującą wartość float....
Witam! Do Kolego Beluosus Oops, słuszna uwaga! Otóż miałem na myśli to, że generalnie parametry do funkcji przekazywane są poprzez wartość, zatem w funkcji wywoływanej tworzone są na stosie kopie tychże. Powoduje to, że operacje w funkcji wywoływanej nie zmieniają bezpośrednio danych, które przekazała funkcja wywołująca np: Jakaś funkcja f1 wywołująca...
Utworzyłem typ strukturalny : typedef struct Interface { int Time; BOOL Thread; unsigned char Buffer_I[100]; unsigned char Buffer_O[100]; unsigned char NumberOfBytes; unsigned char CountError; unsigned char Status; }; następnie zmienną tego typu : Interface InterfaceRS; Teraz w funkcji obsługującej wątek, chcę podać adres tablicy...
Jaki problem dodac nawiasy? Sformułowanie "kompletnie źle" sugeruje, że cały kod jest do du...., a nie, że jest, krótki, wygodny w użyciu i zawiera drobny błąd. Brak nawiasów w uważasz najpierw za "drobny błąd". Następnie piszesz: Gdy nie ma nawiasów, to albo błąd kompilacji *to i tak dobrze) albo działa nie tak jak by się chciało (tu już gorzej, bo...
1. To C++ a nie C. 2. Przekazujesz wskaźnik przez wartość, funkcja dodaj zmodyfikuje tylko jego kopię na swoim stosie - nie zmodyfikuje wskaźnika w funkcji wywołującej. 3. Skoro to C++ to najszybciej będzie przekazać wskaźnik przez referencję, wystarczy: void dodaj(struct ksiazka *&pierwszy)
Jak już offtopikujemy... W przypadku , gdzie funkcja ma zwrócić daną i/lub błąd , najlepiej wykorzystać ... Kod: typedef struct { char status; char code; };rc; ... lub cos podobnego No nie zgodzę się z kolegą. Niestety zwracać z funkcji taką strukturę można tylko przez wartość a to już jest kopiowanie danych i o ile w tym przypadku jest ich mało to...
Mam problem z programem. Napisałam go przy użyciu dużej ilości wskaźników do struktury jako argumentów funkcji. Wszystko działa pięknie. Podczas pisania programu stwierdziłam że czemu by nie napisać tego podając do funkcji strukture a nie wskaźnik do niej. Zaczynając zmieniać wszystko, program przestał działać. Kompiluje się, ale valgrind pokazuje problemy...
Witam! Dostałem "przerwanie niemaskowalne" od Żony ale już je obsłużyłem i mogę działać dalej. Dopisywanie na początek listy jednokierunkowej jest najprostszym sposobem tworzenia listy. Jednakże wynikowy porządek elementów jest odwrotnością do porządku "ich pojawiania się". W niektórych zastosowaniach jest to niewskazane. W konsekwencji czasami elementy...
witam mam taką treść zadania : wiedząc, że zmienna wskaźnikowa o nazwie ptr wskazuje na adres dowolnego elementu listy dwukierunkowej , napisz procedurę która utworzy z istniejącej listy, liste cykliczną. Określ typ elementu listy. Lista przechowuje wartosci typu float.Poprawnie sbudowana funkcja powinna zawierać tylko jeden argument-ptr. typedef struct...
Witam wszystkich Próbuje zapisać dane wygenerowane przez program do pliku ale podczas rzutowania za pomocą reinterpret_cast wskaźnika na prostą strukturę, przykładowo: [syntax=cpp-qt] struct test { unsigned int mark; unsigned int w; unsigned int h; }; [/syntax] na wskaźnik typu char*, rezultat rzutowania ma zmieniony endian na big-endian, co jest bardzo...
Nie podałeś kompilatora, ani jego wersji. Bo założyłem że taka optymalizacja to jakiś element języka C a więc niezależny od kompilatora. BTW, dla konkretnych funkcji pewnie o wiele więcej zyskasz stosując konkretne atrybuty związane z inlinowaniem, rozwijaniem pętli, dzieleniem typów itd. Raczej nie bo główną rzeczą którą chcę uzyskać to brak optymalizacji...
Mam właściwie dwie prośby w tym poście. Pierwsza to czy ktoś zna proste wyjaśnienie ile gwiazdek lub ampersandów stosować przy przekazywaniu wskaźników do funkcji. Podobno wystarcza kartka w kratkę i 30 minut. Mimo przeczytania książki Stephena Praty nadal głupieję ile gwiazdek i ampersandów stosować. Druga prośba to konkretny przykład tego, czego nie...
Witam. Mam do napisania program, oto treść 'zadania' : Zdefiniuj typ strukturalny zawierający 3 pola (int, char, double ). Następnie zaimplementuj funkcje do obsługi zdefiniowanego typu: 1. losowanie – funkcja: a) pobiera jako argument liczbę N struktur, które mają zostad utworzone; b) dynamicznie alokuje pamięć na tablicę N wskaźników na struktury;...
flapo213 wielkie dzięki za odpowiedź. W zasadzie wiem już co i jak ale rozwinę post, może kiedyś komuś się do czegoś przyda. Problem polegał głównie na tym, że normalnie gdy masz coś do odczytania od urządzenia np. przez port RS232 to generuje ono przerwanie i w przerwaniu możemy sobie odpowiednią maską sprawdzić co jest na rzeczy. USB w trybie bulk...
xSemafor jest wskaźnikiem na strukturę danych wykorzystywaną przez funkcje obsługi smafora i przez RTOSa. Sama funkcja xSemaphoreCreateMutex(); tworzy tą strukturę na stercie i "rejestruje" ją w RTOSie. Scheduler dzięki tej strukturze wie czy dany task ma być blokowany czy może przydzielić mu czas procesora. Semafory i mutexy w FreeRTOSie są protezą...
Witam, Potrzebuję zrobić sobie menu do sterownika silnika DC, aby było to menu łatwe do przenoszenia i edytowania między projektami postanowiłem je zrobić na strukturach. Tu pojawia się problem i od 3 dni nie mogę wpaść na to co źle robię. Oto wycinki kodu aby ułatwić zobrazowanie problemu: plik Menu.h [syntax=c] #ifndef MENU_H_ #define MENU_H_ #include...
Jakiś czas temu trafiłem na stronę www.whiteelectronics.pl której autor jest polskim dystrybutorem budżetowych paneli operatorskich DGUS. Z ciekawości nabyłem jeden z tych wyświetlaczy ( Aby moja biblioteka była jak najbardziej przyjazna postanowiłem, że: - umieszczona będzie w niej jedna zmienna określająca ilość zmiennych jaką wymieniamy się z panelem,...
Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...
posiłkowałem się internetem(niektóre funkcje i jakieś przykłady) i jedną książką udało mi się coś takiego sklecić ale chyba coś pomotałem bo nie chce działać funkcja read_file (linia 263 w main) może ktoś biegły zauważy błąd, dzięki za pomoc :) [syntax=c] #include <stdio.h> #include <stdlib.h> #include <string.h> #include<ctype.h>...
Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...
Twoja funkcja musi pobierac wskaznik do struktury GPS. Przykładowo jesli struktora nazywa się strukturaGPS: typedef struct{ int wysokosc; int szerokosc; int czas int packet3[8]; }strukturaGPS; //za jej pomocą tworzysz strukturę GPS: strukturaGPS GPS; //Funkcja bedzie wyglądała tak: void gps_dm_dms(strukturaGPS* GPSpointer...
W strukturze zmodyfikuj wskaźnik na funkcję oraz dodaj pole dla parametru [syntax=c]struct menu_struct { const char * name; menu_t * next; menu_t * prev; menu_t * child; menu_t * parent; void (*menu_function)(void*); void *args; };[/syntax] Nie wiadomo jakiego typu będą faktyczne parametry funkcji dlatego trzeba zastosować typ void* i rzutować go do...
Nie zrozumialem dokladnie o co ci chodzi, moze daj kod zrodlowy tego co napisales z tym bledem. Poniej zamieszam kod przedstawiajacy wskaznik do struktury. #include <cstdio> struct jakas_struktura { int jakis_int; char jakis_char; char jakas_tablica[8]; }; jakas_struktura jakas_funkcja(void) { jakas_struktura Stest;...
wskaźnik funkcja typedef struct wskaźnik funkcja argument
ścianka ciepła adaptacje vagiem skoda wieża philips fw630
Siemens SE64A660 – starsze modele zmywarek, typowe usterki, części zamienne, diagnostyka Głowica nagrywająca – oporność 008 oma, interpretacja pomiaru, uszkodzenie, magnetofon