Albo w pliku zmienne.c: #define VARIABLES_HERE Manewry całkowicie zbędne. To co podał (at)Nepto jest OK. Ale jako, że lubię wiercić kijem w mrowisku powiem że w ten sposób też by było dobrze: 8-) [syntax=c]/***************** zmienne.h *******************/ #ifndef ZMIENNE_H #define ZMIENNE_H #define BUFRAMSIZ 256 extern char bufram[BUFRAMSIZ]; extern...
Mozesz to zrobic na kilka sposobow. 1. Zwrocenie wskaznika [syntax=c]typedef struct { int pole; }TwojaStruktura; TwojaStruktura* ModyfikujStrukture() { TwojaStruktura* ret = malloc(sizeof(TwojaStruktura)); ret->pole = 666; return ret; } int main(int argc, char* argv[]) { TwojaStruktura* zmodyfikowana = ModyfikujStrukture(); //nie zapomnij o zwolnieniu...
Jasne że tak, możesz też zdefiniowac własny typ typedef struct ram_structure { char a,b; int c; char d[30],e[10]; } sr; sr xxl[10];
Chyba nie przeczytałeś informacji z linku podanego przez kolegę tmf , bo dowiedziałbyś się, że dla nowego kompilatora należy zamiast: [syntax=c] typedef struct stringg { uint8_t screen_cnt; // ilość ekranów char napis[]; // tekst do wyświetlania }string_struct PROGMEM; string_struct strr = {1, "avc"}; [/syntax] użyć składni: [syntax=c] typedef struct...
Może bitfield: volatile typedef struct{ u8 PB0:1; u8 PB1:1; u8 :6; }Bits; u8 zmienna = 0; Bits *STICK =(volatile Bits*) &zmienna; STICK->PB0 = 1;
Tak rób: [syntax=cpp] #define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "math.h" #include "stdlib.h" //----------------------------- LISTY ----------------------------------------... typedef struct lista_kwadratów{ int numer; int x; int y; float a; float Pole; float Obwód; struct lista_kwadratów* nast; }kwadrat; [/syntax]
zmienna ^= 0x01; Mozna tez zrobic tak: typedef struct byte { b0:1; b1:1; b2:1; b3:1; b4:1; b5:1; b6:1; b7:1; } No a potem: byte zmienna; zmienna.b0 ~= zmienna.b0;
No nie bardzo. ad.1. Lista cykliczna, czyli zapętlona. Aby zapętlić listę dwukierunkową mając wskaźnik na jej dowolny element, musisz przejść całą listę w przód aby znaleźć ostatni element i w tył, aby znaleźć pierwszy element, a następnie zmienić wskaźniki next ostatniego elementu aby wskazywał na pierwszy i prev pierwszego elementu, aby wskazywał...
Mówi on: "The compiler does not permit pointers to functions so that the compiler can know at compile time the complete call tree. This is used to allocate memory for full RAM re-use. Functions that could not be in execution at the same time will use the same RAM locations. In addition since there is no data stack in the PIC®, function parameters...
Można to zrobić tak: #include <stdio.h> #include <stdlib.h> struct key{ char *w; char *z; }; typedef struct key2 { char *w; char *z; } nasz_typ; const int tab_size = 100; struct key * tab; nasz_typ * tab2; int main() { tab = (struct key *) malloc(sizeof(struct key) * tab_size); tab2...
Myślę, że gdybyś zmienił int na char w "int tab[25];" w obu programach, to by zadziałała całość :) Chociaż nie, tam jednak używasz paru wartości o zakresie gdzieś do 1000... w takim wypadku trzeba zrobić strukturę (struct) i pościeśniać wartości bitowe zamiast przydzielać całego inta na każdą. Np. [syntax=c]typedef struct { int x; int y; unsigned int...
Witam! Jednym z rozwiązań jest zadeklarowanie pola struktury jako wskaźnika do np LEV-elementowych tablic typu "wskaźnik do char" np tak: [syntax=c]typedef struct { char *opis_msg; char *(*alarmy)[2]; } AL_TABLE;[/syntax]a nastepnie odwoływać się do nich następująco np: [syntax=c]printf("%s\n", (al_tab[2].alarmy[2])[1]);[/syntax] Analizując wiersz z...
Najlepiej to powołaj sobie nowy typ: [syntax=c]typedef struct { uint8_t id; uint8_t behavior; uint8_t items_in_menu; Menu_Entry *sub; Menu_Entry *parent; char cText[17]; FuncPtr call_me; } TMENUENTRY;[/syntax] a następnie w kodzie zdefiniuj już sobie pięknie zmienną w EEPROM ;) [syntax=c]TMENUENTRY Menu_Entry EEMEM; // ta zmienna będzie w EEPROM[/syntax]...
W pliku 'lcd.h' : #1 Usuń wszystkie 'inline' . #2 Zamiast: typedef struct LCD_LOCAL { uint8_t matrix[8]; // Matryca znaku char cAlt; // Znak alternatywny }LCD_LOCAL_PGM PROGMEM; napisz: typedef struct { uint8_t matrix[8]; // Matryca znaku char cAlt; // Znak alternatywny }LCD_LOCAL_PGM; W pliku 'local.h' : Zmień: extern...
A tak: (template) [syntax=c]#include <stdio.h> 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*); void blower_super_duper_hiper_state_handler(B... BlowerState idleState = {...
Nie wiem, co rozumiesz, przez przepisywaniem wszystkich wskaźników, przecież właśnie zaletą listy jest to, że wystarczy "przepiąć" wskaźnik z elementu poprzedzającego usuwany element na następny: if(poprzedni != 0) poprzedni->nastepny = biezacy->nastepny; else glowny = biezacy->nastepny; przedmiot* temp = biezacy; biezacy = biezacy->nastepny;...
Jeśli w pewnym momencie ilość będzie znana, jednocześnie niezmienna, to po prostu do malloc przekazać rozmiar jednej struktury razy ilość elementów, uzyskany wskaźnik można traktować jak tablicę: typedef struct { int jakies_pole; } sample_buffer; int main() { unsigned int i, cnt; i = 3; cnt = (rand() % 10) + 2;...
To rzutowanie to taka informacja, że: "to co odczytałeś spod podanego adresu jest wkaźnikiem do funkcji z takim a takim argumentem i zwracającym to i to" Dobrze? Generalnie tak. Rzutowanie w C to w zasadzie informacja dla kompilatora, że programista wie, co robi. :wink: Z tym typedef to tak: typedef unsigned char (*CallbackFuncPtr_t)(unsigne...
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...
Musisz dokładnie zajrzeć do "stm32f10x.h". Otworzyć go w okienku i CTRL+F i nazwa, lub okienko Outline jak masz i poszukać. Czasem są takie wyjątki w nazwie, ale większości wypadków tak nie jest (; typedef struct { __IO uint32_t CCR; __IO uint32_t CNDTR; __IO uint32_t CPAR; __IO uint32_t CMAR; } DMA_Channel_TypeDef; //........... #define DMA1_Channel1...
:) Znalezione... nie wiem czy o to autorowi chodziło [syntax=c]typedef struct { unsigned char count; nrf_reg_bitsdata[]; } nrf_reg_fields; #ifdef NRF_REG_DEF_META #define REGF(FNAME, FSIZE, FRW) { .name = FNAME, .size = FSIZE, .rw = FRW, } #define REG(RNAME, RSIZE, RFIELDS) { .name = RNAME, .size = RSIZE, .fields = RFIELDS, } #else #define REGF(FNAME,...
ThreadProc jest błędnie zadeklarowana. Poprawnie jest DWORD WINAPI ThreadProc(LPVOID theArg) <- bez * !!! Wtedy rzutowanie na PLTHREAD_START_ROUTINE w wywołaniu CreateThread() jest niepotrzebne. Zmienna watek nie jest zadeklarowana, Twój program nie kompiluje się w takiej postaci jak wyżej. Zobacz #include <windows.h> #include <assert.h>...
skoro w pliku nagłówkowym masz: typedef struct { unsigned char hundsecs : 8; unsigned char seconds : 8; unsigned char minutes : 8; unsigned char hours : 8; } time_struct; to jednocześnie powinieneś dać nieco później: extern time_struct time_start; żeby inne moduły korzystające z tego pliku nagłówkowego wiedziały, że gdzieś...
No masz błąd - bo np w pliku nagłówkowym *.h DEFINIUJESZ zmienną strukturalną :( a tak się nie robi, w nagłówkowych powinny być SAME DEKLARACJE a nie definicje (no może poza funkcjami inline - ale to inna sprawa) Zrób sobie tak w *.h Dodano po 1 zresztą jeśli to jest prosty projekt i tylko te dwa pliki to nawet w *.h nie musisz dawać DEKLARACJI [syntax=c]extern...
Patrząc na kod z postu Tantalosa to moj_dest_ptr to: typedef struct { struct jpeg_destination_mgr pub; /* public fields */ JOCTET * buffer; /* start of buffer */ unsigned char n; unsigned int jpeg_size; } moj_destination_mgr; typedef moj_destination_mgr * moj_dest_ptr; Czyli tworzysz nowy typ "moj_dest_ptr" który możesz używać zamiast takiej...
ale teraz, jak działa HA Discovery? Jaka jest nazwa MQTT pierwszej i drugiej wartości odczytu BL0942? (at)src/driver/drv_bl_shared.c typedef struct energysensor energysensor_t; typedef struct { energysensor_t sensors https://obrazki.elektroda.pl/2469488000_...
Nie do końca umiem wyjaśnić, dlaczego C++ różni się tutaj od C, ale mam inną propozycję, rodem z ANSI C :) Przykładowy kod można przepisać: #include <stddef.h> typedef struct { int first; int second; int third; } type_t; #define ADDRESS 0x12345678 const int data = (ADDRESS + offsetof(type_t, second))*2; int main(void)...
W pliku LPC1768.h masz taką definicję: #define CCR (*(volatile unsigned char *)0x40024008) w pliku core_cm3.h masz taką linijkę: typedef struct { ... __IO uint32_t CCR; /*!< Configuration Control Register */ ... } SCB_Type; Definicja z pierwszego zostaje wstawiona do drugiego i powstaje chaos. Nie ma tu prostego rozwiązania, możesz spróbować...
Ja bym zwrócił uwagę na: typedef struct fb { char start : 8; char type : 8; ... i zmieniłbym na typedef struct fb { char start; char type; ... tak jak jest to w strukturze: typedef struct { char start; char type; uint8_t konfiguracja[4]; char Conf_End[2]; }Conf_Frame_Array; wtedy początki semantycznie będą...
Nie znam tej biblioteki, pół minuty temu pobrałem jej źródła, ale z tego co patrzę, to struktura FILINFO zadeklarowana jakoś tak: [syntax=C]// FatFS R0.08b, ff.h typedef struct { DWORDfsize; /* File size */ WORDfdate; /* Last modified date */ WORDftime; /* Last modified time */ BYTEfattrib; /* Attribute */ TCHARfname[13]; /* Short file name (8.3 format)...
No PC-et mial niby tylko czytac ale jesli jest tak jak napisales to takie rozwiazanie jest faktycznie najwygodniejsze.Programowa realizacja FIFO nie jest rowniez problemem chocby mniej wiecej tak: #define MAX_FIFO 20 typedef struct { char ptr; char buff[MAX_FIFO]; } fifo_t; fifo_t fifo; void push_fifo(char byte) { fifo.buff[fifo.ptr]...
Powodem może być niepoprawna konfiguracja rejestrów sterownika. poza tym nie pokazałeś jak wygląda funkcja zapisu do ramu i ustawienia kursora. Ja używam takich funkcji: [syntax=c] typedef struct { vu16 REG; vu16 RAM; }LCD_TypeDef; #define LCD_BASE (0x6c000000) #define LCD (( LCD_TypeDef *) LCD_BASE) void LCD_WrReg(u8 reg, u16 data) { LCD->REG =...
#ifndef _DATASTRUCT_H #define _DATASTRUCT_H struct DataStruct { ... }; typedef struct DataStruct DataStruct; #endif Wszystko działa, dziękuję ;)
Jeżeli chcesz koniecznie koniecznie wykorzystać metodę, o której pisał tmf, możesz zrobić tak: [syntax=c] typedef struct _PortBits { unsigned b0 : 1; unsigned b1 : 1; unsigned b2 : 1; unsigned b3 : 1; unsigned b4 : 1; unsigned b5 : 1; unsigned b6 : 1; unsigned b7 : 1; } tPortBits; #define PORT_BITS(p) (*(volatile tPortBits*)&(p)) #define SCLK_RF_PORT...
le nie ma tam słowa o FMC . No bo FMC po skonfigurowaniu to po prostu pamięć w przestrzeni adresowej - czyli po prostu piszesz lub czytasz do/z tego adresu. Czyli DMA memory to memory. Dla przykładu u mnie w projekcie teraz używam banku 1, 16 linii danych i szyny adresowej A2 jaki DC. Po sonfigurowaniu FMC [syntax=c]typedef struct { volatile uint16_t...
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 {...
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....
Freddie Chopin : To nie jest aż takie proste. Z tego co ja zrozumiałem, to chodzi o zadeklarowanie typu zmiennej, coś pokroju: [syntax=C]typedef func_t (*func_t)(void *ptr);[/syntax] z tą tylko różnicą, że powyższe się nie kompiluje. Najbliższe rozwiązanie, to zwracanie struktury, wewnątrz której znajduje się wskaźnik na funkcję - strukturę można używać...
Bynajmniej nie chciałem urazić w poprzednich postach, jednak, moim zdaniem, dopiero przedostatni post autora tematu konkretnie wskazał problem. Nie znam za bardzo arduino, ale bazując na [url=http://codebender.cc/]kompilatorze online, obsługa eeprom w arduino jest identyczna jak w c. Przykład: [syntax=c]#include <avr/eeprom.h> typedef struct {...
Jednak nie wiem jak przekształcić datę wprowadzoną przez użytkownika na UNIX. Możesz użyć poniższej funkcji w celu wyliczenia czasu: [syntax=c] time_t DateTime.makeTime(byte sec, byte min, byte hour, byte day, byte month, int year ); // returns time_t from components [/syntax] time_t to typ unsigned long, więc możesz w prosty sposób sprawdzić różnicę...
[syntax=c]string imie; int a; void miasto(); // int miasto; // błąd był tu int klasa; int sil;[/syntax] Masz w kodzie okropny bajzel. 1. Nie używaj zmiennych globalnych (właśnie już wiesz czemu). 2. Jeżeli chcesz zastosować metodę Kopiego Pejsta - to znaczy że robisz coś źle. 3. Przeanalizuj ten kod: [syntax=c]#include <stdio.h> typedef struct...
błąd jaki zauważyłem to definicja "main" powinna być z dwoma argumentami, czyli "int main(int argc, char*argv[])". Wynika to z faktu, że biblioteka SDL2 podmieni ją na swoją. Dokładniej to SDL definiuje makro "main" jako "SDL_main" i jest to typ funkcyjny dwuargumentowy "int(*)(int,char**)". goto? Niektórzy tego nie lubią i uważają za zło. Jeżeli to...
Jest szybsze bo tak jak mówisz te rejestry są tylko do zapisu. Też mam coś takiego: [syntax=c]typedef struct { __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset:...
To co jest takiego złego w "typedef struct..." ? Trochę nie rozumiem.
(at)tmf Masz rację, cały czas miałem to na końcu ..., ale mi to umykało ;-) Wersja z jednym wskaźnikiem: [syntax=c]/* * sb_buffer.c * * Created on: 20 mar 2017 * Author: Sparrowhawk */ #include <stdio.h> #include <string.h> #include "sb_buffer.h" typedef struct { SB_2DCHAR_PTR *data; SB_2DCHAR_PTR *to_draw; } SB_Buffer; static SB_Buffer...
[syntax=c]typedef struct { int a; int b; } struct_t; const struct_t arr[] = { {1,2},{ 3,4} };[/syntax] [syntax=c]typedef struct { int a; int b; } struct_t; #define str1 { 1, 2 } #define str2 { 3, 4 } const struct_t arr[] = { str1, str2 }; [/syntax]
No i rozwiązaliście, znalazłem byka przy pisaniu odpowiedzi na Wasze pytania. Wypada więc napisać po kolei. Struktura siedzi w pliku globals.h (dla przykłądu wklejam ją okrojoną do dwóch zmiennych): typedef struct Par { uint16_tPosAct; //aktualna pozycja z enkodera uint16_tPosActBuf; //bufor posredniczacy w odczytuwaniu pozycji }Par; typedef...
No jak nadaję wartość w main()- to bez błędów. Nie rozumiem- dlaczego. Jak to nie rozumiesz dlaczego - to chyba nie dziwne, że wewnątrz funkcji można przypisać dane do pól struktury. Struktura zdeklarowana jako globalna- no bo przed main- a nadać wartości nie można. Jak nie nie można ???? A jak będę chciał zmienić te wartości w innej funkcji albo w...
typedef struct t { string w; string c; }; struct t keytab[MAXW]; czy ? typedef struct t { char string=w; char string=c; }; struct t keytab[MAXW]; Chodziło o coś takiego ?? niestety nie pomogło :/, a może źle zrozumiałem
Poprawiłem kod dla czytelności, dopisz sobie resztę. Nie kompilowałem ze względu na niekompletny kod, liczyłem na swoją wiedzę: [syntax=c]#include <ctype.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 80 #define END "koniec" // struktura liczby calkowitej z iloscia cyfr do...
Witam typedef struct { int x; int y; } strukturka; Sprawdź jak tworzy sie typy strukturalne typedef struct strukturka { int x; int y; } moja; struct strukturka *ptrmoja; //wzskaźnikowo moja.x = 10; ptrmoja->x = 4;
Table 154. Global interrupt flag register (IRQ_FLAG, address 0x4000 40F8 ) bit description Z listingu assemblera wynika, że odwołanie jest pod adres 0x4000 4048 Błąd jest pewnie w deklaracjach rejestrów W tych plikach co ja mam są takie deklaracje [syntax=c]/*------------- Multi-Rate Timer(MRT) ----------------------------------------... typedef...
Czy nie miało to być tak![syntax=c]typedef struct{ char imie[30]; char nazwisko[30]; char PESEL[11]; }osoba;[/syntax]
tak wyglada struktura o nazwie ROM typedefstruct _ROM { const USBD * pUSBD; } ROM; Jak widać w ciele jest tylko wskaźnik do pokazywania na stałą strukture USBD tak wygląda struktura USBD typedefstruct _USBD { void (*init_clk_pins)(void); void (*isr)(void); void (*init)( USB_DEV_INFO * DevInfoPtr ); void (*connect)(uint32_t con); } USBD; natomiast struktura...
Zdefiniuj swoja strukture tak: [syntax=c] typedef struct { const BOARD_IFACE_t *board; } BOARD_COMMON_t; [/syntax]
Przypisanie strukturze x2 struktury x1 nie powiedzie się, gdyż C w przeciwieństwie do C++ nie dysponuje domyślnie tworzonym konstruktorem kopiującym dla obiektu. U mnie kompilator gcc dla ARMow zmienia takie przypisanie na zwykłe wywołanie memcpy. Nie wiem czy coś nowego dodam do tematu ale ze strukturkami można robić również takie kombinacje: struct...
Dlatyego niektóre typy próbują jak chcą przekazać tablicę np coś takiego: [syntax=c]typedef struct { char a[100]; } char_100; char_100 n; func(n); [/syntax]
Zawiesza się, ale tylko podczas ustawiania na wyjście cyfrowe, prawda? dInput i dInput bez podciągania działają dla mnie: https://obrazki.elektroda.pl/3758491800_... . https://github.com/openshwprojects/OpenB... [syntax=c] void My_LN882_Basic_GPIO_Setup(lnPinMapping_t *pin, int direction)...
Przykład dla DMA [syntax=c]void Init_DMA_TFT(uint16_t nofData) { // DMA2 Init Stream 0 from SRAM to FSMC DMA2_Stream0->CR &= ~(DMA_SxCR_EN); while ((DMA2_Stream0->CR & DMA_SxCR_EN));// wait for disable and clear all flags DMA2->LIFCR |= DMA_LIFCR_CTCIF0 | DMA_LIFCR_CHTIF0 | DMA_LIFCR_CTEIF0 | DMA_LIFCR_CDMEIF0 | DMA_LIFCR_CFEIF0; //0b----|...
Witaj W sumie to zastanawiam się czemu forma To string "Testowy" ma długość 8 (7liter + 0 na końcu)znaków, a Twoja tablica ma tylko 5 elementów, więc przekraczasz zakresy tablicy i wpisujesz dane bez kontroli w pamięci mikrokontrolera.
Ad 1: [syntax=c]// bitfield definitions typedef union { struct { unsigned T2CKPS :2; unsigned TMR2ON :1; unsigned TOUTPS :4; }; struct { unsigned T2CKPS0 :1; unsigned T2CKPS1 :1; unsigned :1; unsigned TOUTPS0 :1; unsigned TOUTPS1 :1; unsigned TOUTPS2 :1; unsigned TOUTPS3 :1; }; } T2CONbits_t; extern volatile T2CONbits_t T2CONbits (at) 0x012;[/syntax]...
Mam nastepujace pytanie jak sprawdzic wilekosc pola, jakiejs struktury, ktora zdefiniujemy jako typ. przyklad: typedef struct{ int pole; ... } struktura; jaka jest wielkosc "pole", bo np. sizeof(struktura.pole) nie dziala.
Robisz sobie strukturę z akcją dla jednego klawisza, z nich robisz sobie tablicę sekwencji dla całej kombinacji (możesz tych tablic sobie porobić ile chcesz), następnie wołasz funkcję z tablicą jako paramaterem. [syntax=c]typedef struct { uint8_t key; uint16_t delay; bool activeHigh; uint8_t betweenKeys; }Key_t; #define ENTER 13 #define UP 12 #define...
Witam, mam taki ciekawy problem. Otóż zadeklarowałem sobie cztery struktury w natępujący sposób: [syntax=c] typedef struct { unsigned char godziny; unsigned char minuty; unsigned char sekundy; } Czas; Czas Pomiar_A, Pomiar_B; static Czas Pomiar_A_old,Pomiar_B_old ; [/syntax] Kompilator [CodeVision] wszystko przyjął, nie było żadnych warningów. Aż tu...
Jeżeli używasz GCC (w wersji >= 3.x), to może wyglądać to np. tak: typedef struct nazwa { int pole1; int pole2; // .... } NazwaTypu __attribute__((packed)); Uzywam kompilatora AVR-GCC 3.4.6 i deklaracja struktury z atrybutem packed w takiej postaci jak wyzej jest ignorowana. Kod poprawnie sie kompiluje przy takiej deklaracji:...
OK, [syntax=c]typedef struct TConfigStruct { TCzas CzasTrawienia, CzasDotrawiania; bool Beep, Pompka; float GrzalkaOd, GrzalkaDo, TempMin, TempMax; }TConfigType; struct TConfigStruct Ustawienia; /* albo */ TConfigType Ustawienia; [/syntax]
W visual c++ struktura poniżej też zajmuje 8 bajtów. typedef struct { unsigned char b; unsigned long l; }s;
Proszę o pomoc, mam wypełnić funkcję fill_in mając do dyspozycji te dwie struktury. Wykorzystując struktury cell_information oraz information_carrier wypełnij ciało funkcji void fill_in(cell_info_ptr data, unsigned int id, float sq, info_carrier_ptr carr_ptr) która przypisuje wartości parametrów „id”, „sq” i „carr_ptr”...
Nie keil a real view :P. typedef union _MMCstate { struct { BYTE isSDMMC : 1; // Set if it is a SDMMC BYTE isWP : 1; // Set if it is write protected } pola; BYTE _byte; } MMCSTATE; i później Flag->pola.isWP = 0; Flag->pola.isSDMMC = TRUE; sprawdzone
Chyba znalazlam w czym problem - a przynajmniej u mnie zaczelo dzialac. Pracowalam na pierwszej wersji kodu wiec wkleje to na czym pracowalam. Sprawdz u siebie czy jest ok. [syntax=c]#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct PUDELKO { char identyfikator[256]; double x; double y; double z; struct PUDELKO...
OK, więc najpierw musisz dodać wpis do tabeli sterowników tutaj: https://github.com/openshwprojects/OpenB... Oto struktura sterownika: [syntax=c] typedef struct driver_s { const char* name; void (*initFunc)(); void (*onEverySecond)(); void (*appendInformationToHTTPIndexPage)(http... request); void (*runQuickTick)();...
szczerze to mi to nic nie rozjaśniło, a ta stronke jak kilka innych oglądałem. Korzystam z tego: http://msdn.microsoft.com/en-us/library/... I tam przy polu: biBitCount(value 16,32) są informacje (dla biCompression == BI_BITFIELDS wg mnie sprzeczne, jeśli struktura BITMAPINFO wygląda: [syntax=c]typedef struct tagBITMAPINFO...
Nie wczytuj do wektora, tylko do struktury. [syntax=cpp] typedef unsigned char BYTE; typedef unsigned short WORD; struct Ramka { BYTE start; BYTE adres; BYTE funkcja; BYTE dane[64]; WORD crc; BYTE stop; }; ifstream plik(nazwa_pliku, ios::in | ios::binary); Ramka ramka; plik.read ((char*)&ramka, sizeof (Ramka)); plik.close(); [/syntax]
Spróbuj [syntax=c]typedef struct abc { struct addr src; unsigned short type; } __attribute__ ((packed)) xyz_t ; #define X ((xyz_t *)&t[0])[/syntax]
typedef struct { uint8_t second; uint8_t minute; uint8_t hour; } time; time t; Jest w pliku naglowkowym - "defines.h"
A jakbyś spróbował rozwiązanie 1 tylko strukturę zadeklarował tak? typedef struct { PGM_P opis; void (*(tab_wsk_fun[3])... prog_uint8_t tab_arg[2]; } menu;
Jestem w trakcie przerabiania kursu programowania w C z EdW Lekcja 11 Jako, że nowszy kompilator (WinAVR-20100110) wyrzuca błędy podczas kompilowania programu napisanego w kursie, wykonałem poniższe zmiany: W pliku 'lcd.h': 1. Usunąłem wszystkie 'inline'. 2. Zamiast: typedef struct LCD_LOCAL { uint8_t matrix[8]; // Matryca znaku char cAlt;...
Mam mały problem od jakiegoś czasu. Próbuje uruchomić USB Framework pod CrossWorks. Czy komuś się już to udało? Doszedłem już do paru rzeczy, mianowicie zamiana: __packed typedef struct { ... } jakas_nazwa; na: typedef struct { ... } __attribute__((packed)) jakas_nazwa; , ale nadal projekt nie chce działać. Wyrzuca...
A czemu nie zrobisz po prostu funkcji tłumaczącej tablicy na strukturę z constami? [syntax=c]#include <stdio.h> #include <stdint.h> typedef struct { const uint8_t high; const uint8_t low; const uint32_t cycles; } Configuration; Configuration readConfiguration(uint8_t* data) { Configuration configuration = { .high = *data++, .low = *data++,...
1. Radziłbym: [syntax=cpp]typedef struct { uint8_t room_id; char name[16]; uint8_t settings; }ROOM ; ROOM ROOMS[8];[/syntax] bo to co podałeś nawet się nie skompiluje. 2. http://zetcode.com/db/mysqlc/
Na przykład: [syntax=c]typedef struct { uint32_t a; uint16_t b; float c; } struktura; typedef union { struktura stru; uint16_t tabl[10]; } ta_unia; ta_unia t1; t1.stru.c = 2.3; // dostęp do elementów struktury t1.tabl[2] = 0; // dostęp jako do zmiennych uint16_t [/syntax]
powinno być struct wire a nie samo wire Jeżeli nie chcesz tego pisać za każdym razem to się pisze typedefa: [syntax=c]typedef struct wire wire_t;[/syntax] i wtedy zamiast pisać za każdym razem struct wire piszesz wire_t. Często tak się ukrywa budowę struktur jak się nie chce żeby osoby z zewnątrz wiedziały jaka jest jej budowa.
Z długością tablicy zrozumiałem, ale nie widzę zastosowania tego. Jak się okaże, że będzie potrzebne, to sobie to dodam. Zobaczę jak zadziała mi stworzony przeze mnie przykład. Dodano po jakimś czasie. Niestety dopiero "stara" składnia "typedef struct" skompilowała się bez błędów, najpierw metoda JackaCz: [syntax=c] typedef struct { const uint16_t *...
Moze trochę nie w temacje, ale kolega Kaczor90 prosił o proste rozwiązanie dla debouncingu, a tu co niektórzy chyba popsują się swoimi umiejętnościami programistycznymi, przekombinowywując jak się tylko da. Prosty przykład obsługi przycisków z uwzględnieniem z możliwością określenia mininalnego czasu wciśnięcia przycisku: [syntax=c] #define BUTTON_DEBOUNCE_TIME...
Nie jestem pewny czy koledze nie chodzi o optymizacje kompilatora, kiedy string jest po prostu zadeklarowany (staly) :) Ale ten kodzik dziala bez problemu (czyta pierwszy wyraz z pliku woman.txt i wypisuje odwrotnie, wypisywanie oczywiscie mozna zmienic do pliku a nie na ekran). [syntax=c] #include <stdio.h> #include <stdlib.h> #include...
[syntax=c]#define SS1 PORTB |= (1 << 0) #define SS0 PORTB &= ~(1 << 0) #define CRG 0xF4 //rejestr konwersji #define TMP 0x2E //odczyt temperatury #define PRS 0xF4 //odczyt ciśnienia z overs x8 #define RAD 0xF6 //rejestr odczytu #define REG 0xAA //adres pierwszego rejestru typedef struct { int16_t ac1; int16_t ac2; int16_t ac3; uint16_t...
Witam Czy jest możliwość stworzenia tablicy która będzie zapisana w pamięci eeprom ?? Mam ta tablice ( raczej dane jakie mam w niej umieścic) i jak nie ma innej opcji wpiszę je ręcznie w edytorze hex.. korzystam z avrstudio i nie bardzo wiem jak mogłbym sobie z tym poradzić ten uC ma 512 bajtów moje dane zajmują troche ponad 300 chodzi mi o przykład...
Można to zrealizować w miarę prosto: typedef struct { const char* field_name; const char* field_format; unsigned dest_offset; } field_t; typedef struct { char okno[10]; char kolor[10]; char rodzaj[10]; } dom_t; const fields[] = { { "okno", "%s", offsetof(dom_t, okno)...
typedef struct dane *LIST; struct dane{ //$ struct dane *next; //$ char *imie; //$ char *nazwisko; //$ char *telefon; //$ }; Do tej struktury moge wpisac max 8 znaków. Z tego co mi wiadomo to char *zmienna definiuje nieograniczony łańcuch....
A może o to chodzi? [syntax=c] typedef struct stale_globalne_t { int A_DAC,B_DAC,C_DAC,D_DAC; }STALE; __attribute__((used)) const STALE alfa={1,2,3,4}; int main(void) { while(1); } [/syntax] Popraw ortografię -> "UŻYWANE" !
(at)ElektrodaBot Od niedawna Wokwi wspiera tworzenie własnych układów (custom chip), pomożesz stworzyć układ 74HC245 w języku c. Poniżej masz szablon programu, uzupełnij o działający kod bramek 74hc245 oraz stwórz plik json opisujący układ od strony pinout: // Wokwi Custom Chip - For docs and examples see: // https://docs.wokwi.com/chips-api/getting...
(at)BlueDraco Tylko że jest to w ich bibliotece a nie w przykładzie. Użycie customHID bez zmieniania biblioteki nie pozwala na użycie dłuższego raportu. [syntax=c]typedef struct _USBD_CUSTOM_HID_Itf { uint8_t *pReport; int8_t (* Init) (void); int8_t (* DeInit) (void); int8_t (* OutEvent) (uint8_t, uint8_t); }USBD_CUSTOM_HID_ItfTypeDef;[/syntax]
Z paczki STM-a z kwietnia 2017. Jak na FATFs to dość świeże. Paczka F303 v1.7.0 Paczka dla STM32L4 ściągnięta parę dni temu: [syntax=c]typedef struct { FSIZE_tfsize; /* File size */ WORDfdate; /* Modified date */ WORDftime; /* Modified time */ BYTEfattrib; /* File attribute */ #if _USE_LFN != 0 TCHARaltname[13]; /* Alternative file name */ TCHARfname[_MAX_LFN...
np. Jest jedna wada tego rozwiązania, zmieni się definicja struktury dojdą nowe elementy lub co gorsza zostaną poprzestawiane i wtedy nie trudno o błąd. Można to zrobić tez na inny sposób np.: [syntax=c]typedef struct { unsigned longBaudRate; unsigned charUartDiv; unsigned charDLM; unsigned charDLL; unsigned charFDR; }TBaudRateItem; #define BR_ITEMS...
Oto działająca funkcja, testowana na Atmega16, czas próbkowania 1 ms PID_state regulator_PID(PID_state x) { double e; double de; double I; ADC_conv(x.mes_channel); x.mes_x=ADC_result*conv_mul; e=x.x0-x.mes_x; I=x.ki*Tp*(e+x.eminus1)/2+x.Iminus1; de=(e-x.eminus1)/Tp; x.eminus1=e; x.y=x.kp*e+x.kd*de+I; if((x.y>x.y_max)||(x.y<x.y_min)) { if(x.y>x.y_max)...
Chodziło Ci chyba o : 7 oznacza, ze 7 bitów na pole.
Dzieki za wskazowki - bankowo sie przydadza + zrobilismy maly off-topic ;) Dosinsky W przypadku , gdzie funkcja ma zwrócić daną i/lub błąd , najlepiej wykorzystać ... typedef struct { char status; char code; };rc; ... lub cos podobnego :) Piotrek
Ze względu na sposób przydzielania i (właściwie to przekazywania) pamięci dla ramek...: (fragmenty kodu) [syntax=c] static uint8_t net_buf[512]; typedef struct eth_frame { uint8_t to_addr[6]; uint8_t from_addr[6]; uint16_t type; uint8_t data[]; } eth_frame_t; [...] Następnie: eth_frame_t *frame = (void*)net_buf; [...] Dalej... typedef struct ip_packet...
https://obrazki.elektroda.pl/2181562000_... Hej, może ktoś z was planuje zrobić domową sieć kilkunastu czujników ale nie wie jaki protokół bezprzewodowy wybrać ? Jest tego masa, od Bluetooth, WiFi...... ale dzisiaj skupimy się na mało popularnym, ale wdg mnie, świetnym protokołem ESPnow opracowanych z tego co wiem przez Chińczyków...
Należy unikać zmiennych globalnych. Zastanów się nad rozwiązaniem: [syntax=c]typedef struct { int zmienna_globalna; long druga_globalna; } MojeGlobalne; MojeGlobalne *globalne() { static MojeGlobalne ret; return &ret; } void funkcja(int zmienna) { if(zmienna) led_on(); } void funkcja_z_globalne() { funkcja(globalne()->zmienna_globalna); }[/syntax]
typedef struct stm32 typedef volatile loadlibrary typedef
halogenowy transformator wieczna bateria wektor napięcia
Opis pinów procesora: funkcje i konfiguracje Oleo Mac 937 gaśnie po nagrzaniu i dużo pali - przyczyny