Wysypuje się ? Na warningu ? Chodzi o to, że char* to staroć i powinno się używać standardowej biblioteki c++ do operacji na napisach.
Zgaduję, że pierwszy problem polega na tym, że Kolega deklaruje stałą tablicę jako zmienną. Proponuję poprzedzić deklarację tablicy słowami static const, a potem marudzić dalej.
Zadeklaruj stałą tablicę w PROGMEM, a ze struktury odnoś się przez wskaźnik.
Żeby używać stringa trzeba dodać nagłowek <string>, a samego stringa szukać w przestrzeni nazw std, czyli będzie std::string, albo na początku using namepsace std.
Ogólnie Twój kod wygląda na kopiuj wklej z książki. Tam nie ma całego kodu podanego ;) Pełen kod źródłowy (co ciekawe) też nie kompiluje się poprawnie ale tylko z racji braku deklaracji funkcji dla drugiego czujnika. Po zakomentowaniu odpowiednich linii "obsługujących" drugi czujnik kompilacja przebiega bez problemów. W książce są podane linki skąd...
...Zauwałzyłem, że po zadeklarowaniu w ten sposób liczba komórek RAM zmniejsza się:... Pamięci programu również :( Zajrzyj do pliku pgmspace.h , no i oczywiście do dokumentacji , a w lot zrozumiesz ;) #define EEPROM __attribute__ ((section (".eeprom"))) #define FLASH __attribute__ ((section (".progmem.gcc"))&...
Tę tablicę alokujesz na stosie, a jego rozmiar jest zapewne nie za duży. Albo alokuj statycznie, albo powiększ stos w ustawieniach projektu.
Pokaż większy fragment kodu, z deklaracją tablicy i rzutowaniem na unię.
Jak kopiujesz dane binarne to memcpy() a nie strcpy(), choć tutaj równie dobrze można zrobić to na pętlach for(). Do zrobienia jak to określiłeś szufladek, deklaracja tablicy powinna wyglądać raczej tak: [syntax=c]char pamiecRx[105][8][/syntax] Możesz też zadeklarować tablicę o rozmiarze 8*105 i przesuwać się po niej.
Dalej bez sensu z rozmiarami tablic. Najpierw deklarujesz tablice, a potem wczytujesz ich wielkosc. Taka deklaracja tablicy z wielkoscia podana w zmiennej jest rozszerzeniem jezyka, standard C tego nie zawiera.
Problem został rozwiązany. Leżał on w wywołaniu funkcji putch(), która wysyłała dane na USART'a. Zamiast niej z rozpędu pisałem putchar(), która jest procedurą systemową. Jednakże dlaczego program się wykrzaczał już na samym początku? Powinien dojść do wywołania tej funkcji.
Lepiej wykorzystaj do tego celu pamiec programu , ewentualnie eeprom. Sposob deklaracji tablic dla winavr : dla eeprom : #include <avr/eeprom.h> #define EEPROM __attribute__ ((section (".eeprom"))) unsigned char temp [20] EEPROM ={1,2,3,4,}; dla pamieci programu : #include <avr/pgmspace.h> static unsigned char temp_1 [2] PROGMEM = {1,2,3,4};
Osobiście nigdy nie korzystałem z visual c++ więc gcnew i array są mi obce. Osobiście zrobiłbym to tak: [syntax=cpp]struct A { ... }; struct B { A *wsk; }; B obj; obj.wsk = new A[x]; ... delete obj.wsk;[/syntax]
Jeszcze tylko dodam tak na marginesie, że przy deklaracjach zewnętrznych tablic (extern tablica) nie musisz podawać ich rozmiarów, można zostawić puste klamry: [syntax=c]extern struct wire one_wire[];[/syntax] Jak komu wygodnie
Przy dodawaniu: deklaracja tablicy o rozmiarze sumy tablic A i B, a nestepnie jakiekolwiek sortowanie (zakladajac ze nie masz ogreniczenia na zlozonosc programu moze to byc nawet bubblesort). Jezeli chodzi o odejmowanie to albo musisz sprawdzac nazdy element z tablicy A czy znajduje sie w B jesli tak to w B usuwasz ja, jesli nie to wez nastepna z A....
Jak zadeklarować tablice dwuwymiarową php z liczbami np. (2;12;600;12;78;562;145;321;1;26;54;54;5... 3;14;56;125;9512;452;15;45;69;85;41;25;4...
Rachel załamujesz mnie :D __IO uint32_t AFR[2] to deklaracja tablicy dwuelementowej a w C indeksuje się je od 0 :)
Jezeli to jest pascal pod dosa to tablice dla n i x sa za duze. Pod dosem masz dostep normalnie do 64kB danych. PS.Podawaj kod bledu jaki wyrzuca kompilator i w ktorej dokladnie linijce...
poducz sie troche C. to co zrobiles to: uint16_t *Sekwencja unsigned int Sekwencja[45]; ... Sekwencja[0] = Data; if(Data==Sekwencja[0]) ... zaglebmy sie teraz we wskazniki. deklaracja tablicy jest defacto deklaracja wskaznika na pierwszy jej element. tablica unsigned int Sekwencja[45]; ... *Sekwencja = Data; if(Data==*Sekwencja)...
witam. problem: jak zadeklarować tablicę stałych wartości i wpisać ją do eeproma do 90s2313 w czasie programowania kości? język: gnu C lub asm -------------------- w asm dla 16f84 robi się to np. tak: org 0x2100 de 0x82, 0x83 de 0x28, 0x38 org 0x00 goto start ....dalsze instrukcje... -------------------- po zaprogramowaniu w pokładowym eepromie >już<...
char* wybor[2] = {{"TAK"}, {"NIE"}}; lcd_putsf = wybor[1]; //przypadkiem nie powinno być lcd_putsf(wybor[1]);?? Od dłuższego czasu nie używam ansi C i boję się czy nie popełniłem jakiejś herezji, ale ja bym to tak zrobił. Visual studio to przepuściło:), więc wydaje mi...
No fakt, kilkadziesiąt linii deklaracji tablicy stałych zadeklarowanych jako zmiennych ajmującej pamięć RAM jest o niebo czytelniejsze niż: #define PAGEADDR(n) ((void *)(0x8000000 + (n) * 0x800)) Parę innych rzeczy też jest dziwnie, np. pisanie Flash stronami zamiast słowami, przekształcenia int na adresy itd. Czy jesteś pewny, że nie próbujesz pisać...
Dlaczego nie można zadeklarować tablicy większej niż 32k Kompilator się burzy nie o wielkość dostępnej pamięci programu tylko wywala komunikat że tablica jest za duża. ../Task2.c:26: error: size of array 'testX' is too large To jest ograniczenie języka (i kompilatora) wynikające z wielkości typu int i nie ma nic wspólnego z ilością dostępnej pamięci...
(at)LChucki : ja co prawda, nie umieszczałem pojedynczych zmiennych, ale całe tablice w TCM i BackupSRAM w F407 następująco (GCC, Rowley Crossworks): [syntax=c]extern char __DATA_SRAM_segment_start__, __DATA_SRAM_segment_end__, __BKPSRAM_segment_start__;[/syntax] i deklaracja tablic oraz init wskaźnika na tablicę w BackupSRAM: [syntax=c] data_table...
void (*funkcje) Prawie dobrze. Mozna to rozwiazac w taki sposob, jak zaproponowal krzychoocpp (definicja typu daje pewna swobode). Ew. mozna to zrobic w ten sposob: #include <iostream> //rozmiar tablicy funkcji #define NOF 3 using namespace std; void f0() { cout << "f0" << endl; } void f1() {...
Krzych12 zmień swój przykład na wzór poniższego: [syntax=c] int main() { volatile unsigned char lcd_text[][16]={"napis","napis2","napis3... volatile unsigned char *wsk_lcd_text; wsk_lcd_text=&lcd_text[2][0]; /* wskaźnik na "napis3" */ wsk_lcd_text[5]='X'; /* przykładowa zamiana "napis3" na "napisX" */ } [/syntax] i będzie dobrze. Powodzenia.
U mnie zaczyna działać poprawnie jak w MPLAB włączę parametr Build option -> Global -> Format hex file for download. w jakiego środowiska IDE kompilujesz ?
Witam Nie chcąc zaśmiecać autorowi jego wątku: http://www.elektroda.pl/rtvforum/topic91... zakładam nowy, ale dotyczy on procedur w nim pokazanych w zastosowaniu do aplikacji pod Win32. Zrobiłem na początek tak: //--------------------------------------... #include <vcl.h> #pragma hdrstop #include "Unit1.h"...
czasem problemem okazuje się niestała stała - tablice stałych można przypuszczać, że będą tylko w pamięci flash - przeważnie okazuje się, że kompilator owszem zapisuje sobie tablicę w pamięci flash, ale z początku programu kopiuje sobie ją do ramu - w ten sposób można się odwoływać do komórek takiej tablicy jak do zwykłej pamięci ram (przestrzeń). Może...
witam Mam problem z deklaracją takiej tablicy w AVR Studio 4 (używam WinAVR-20070525 ) - nie rozumie deklaracji flash flash unsigned char unshifted[][2] = { 0x0d,9, 0x0e,’|’, 0x15,’q’, 0x16,’1’, 0x1a,’z’, 0x1b,’s’, 0x1c,’a’ };
Odnośnie tablic chodziło mi jedynie o sposób deklaracji. Wiadomo, że deklaracja być musi, ale podczas dodawania do tablicy nie masz mechanizmu kontroli, czy dane nie wyszły poza zakres tablicy. Polecam nad tym pomyśleć :) Nagłówek. double loadit (FILE **f, float (*t)[100], float (*sinn)[100], float (*zaszum)[100])...
Bardziej chodziło mi, że makro jest przygotowane na sortowanie nawet stu wartości w wierszu, Ty masz to do lotto, specyficznie do 6 liczb, więc Const MaxX możesz zmienić na 6 spokojnie, wtedy będzie brało pod uwagę tylko kolumny od A do F. Jeśli będziesz chciał sortować losowania z innych gier, gdzie załóżmy jest losowane 20 liczb, to wtedy można to...
nie zabardzo pamiętam assemblera ale zrobiłbym to tak: 1.deklaracja tablicy od 0 do 255 elementów wyzerowanej 2.otwarcie pliku a)czytanie znaku b)ustawienie indexu tablicy na odczytany znak, c)odczyt z tablic wartosci, d)incrementacja, e)zapis do pamiecie, f) jezeli nie ma konca pliku goto a) 3. obliczenie maxymalnej wartosci wystapienia ktoregos znaku...
Już drugi raz spotkałem się z tym, że komuś działa taka deklaracja tablicy: tab[jakas_zmienna]; Chociaż wydawałoby się, że nie powinno się dać. No więc zrobiłem mały research i się okazało, że takie coś nazywa się variable-size array , czyli tablica o zmiennym rozmiarze. Jak próbowałem u siebie kompilować ten kod na Visual Studio to oczywiście...
Nie do końca rozumię tą linijkę: Zadeklarowany 500 znaków, w tym pierwsze dwa zainicjowane na '{', '\0' Ponieważ to jest w obszarze pamięci statycznej, dodatkowo wszystko te obszary są z mocy standardu wypełnione zerami, czyli dalej tez są zera (ale z innej zasady) Dodano po 3 Ta linijka: bingo
Wyskakuje Ci blad bo masz deklaracje tablicy w dwoch plikach. Powinno byc tak: W sap.h w sekcji public deklarujesz buffer_o, z sap.cpp dostajesz sie do niej normalnie, a w pliku cw1.cpp dopisujesz #include "sap.h". Teraz bedac z cw1.cpp i chcac dostac sie do buffer_o piszesz tak: Form1->buffer_o.... no chyba ze ta pierwsza glowna forme masz nazwana...
Sprawdz moze bedzie dzialac ;) .INCLUDE "m128def.inc" ;Inicjowanie zmiennych .EQU tabdl=10; długość tablicy docelowej .def koniec_tab = R17 .def dlugosc = R19 .def dana = R16 .def licznik = R18 .DSEG tab2: .BYTE tabdl ;deklaracja docelowej tablicy .CSEG .org 0x0000 ldi R16, low(RAMEND) ldi R17, high(RAMEND) out SPL,R16 out SPH, R17 clr koniec_tab clr...
Czyli jak rozumiem, w VBA nie za bardzo daje się upublicznić tablicę Ależ można tylko trzeba uważać gdzie się wstawia deklarację globalną bo to ma znaczenie. [syntax=vb] ' (powyżej Tablica) ' Deklaracja zmiennych i stałych ' Public Tablica() As Double ' (poniżej Tablica) ' Deklaracja funkcji itp. ' Sub Czytaj() ReDim Tablica(1 To 10, 1 To 10) For i...
Musisz użyć plików nagłówkowych .h z deklaracją tej tablicy.
Witam, Do pamięci zewnętrznej odwołujesz się przez zwykły wskażnik o adresie większym niż wewnętrzna przestrzeń adresowa RAM'u Więc aby stworzyć tablice musisz odwołać się przez wskażnik char* bufor = (char*)0x8000; // deklaracja adresu początkowego tablicy //--------------------------------------...
Można tego dokonać. Zassaj PDF-a z opisem avr-libc. Jest tam ładnie pokazane jak przesunąć obszary różnych typów pamięci poza granice pamięci wewnętrznej. Możesz przesunąć stertę do zewnętrznego RAM-u i przydzielić za pomocą malloc-a pamięć.
Błąd wynikł z niezgodności użycia elementów tablic z ich wcześniejszą deklaracją. Na początku tablice zostały zadeklarowane jako tablice z jednym wierszem; np Int16 tabX[1][6]; więc kompilator przygotował dla tych tablic określoną pamięć, a w potem w programie wywołuje się drugi wiersz tablicy tabX [1] [j], gdyż jak wiadomo elementy tablicy zaczynają...
Zdaje się, że pominąłeś deklarację typu elementu tablicy jako char, czyli są inty. Więc ten napis chyba tam jest, tylko litery będą oddzielone zerami. Spróbuj dodać tam char, np. static const char test[] = {...} Nie było żadnych ostrzeżeń kompilatora w tej linijce? Druga opcja jest taka, że linker wyrzuca tą tablicę ze względu na brak odwołań, ale wtedy...
Dzięki wielkie. Już działa. Pomyłka przy deklaracji tablicy pomiary. Moje niezrozumienie tablic. Deklaracja ilości elementów w tablicy to jedno a liczenie elementów tablicy od 0 to drugie. A ja oba te zagadnienia sprowadziłem do jednego, że deklarując 5 elementów tablicy to licząc od zera mam ich sześć. Dzięki wielkie za pomoc.
Ściagnij sobie jeden z tych plików pomocy, uruchom, wybierz indeks wpisz "dim" klinij wyświetl i tyle, prościej sie nie da :) Dodano po 5 Sorry kolego, dim to nie tablica tylko deklaracja zmiennej, przepraszam za wprowadzenie w błąd Dodano po 6 teraz się temu przyjrzałem i okazuje się że dobrze pamietam. Dim moze być deklaracja singlowej zmiennej bądź...
Przejrzystosc w kodzie przede wszystkim. :D Pozniej latwiej jest zlokalizowac ewentualne bledy i samo poruszanie sie w kodzie jest znacznie latwiejsze. W kazdym razie wracajac do tematu to ja osobiscie nie lubie etykiet wiec wolalbym to rozwiazac np. w ten sposob: Sub Czytaj_id_klucza() 'tutaj wstawiasz kod odczytu End Sub i pozniej tylko: Call...
Za wyjątkiem chyba, że w c zmienna używana do deklaracji tablicy nie może być dynamiczna. Albo się myle
Podaj w deklaracji funkcji typ argumentu dokładnie taki, jak w deklaracji tablicy - z wymiarami, a przynajmniej z drugim wymiarem.
Odpowiednie typedefy są w nagłówku stdint.h Co do podziału pomiędzy przerwanie a program główny to pewnie zapomniałeś modyfikatora volatile przy deklaracji zmiennych, które są dzielone pomiędzy przerwaniem a main(). Co do "tablicy czujników": struct czujnik { uint8_t adres; /* do wyboru czujnika na szynie */ uint8_t ileProbek; uint16_t probki[ROZMIAR];...
Sposobem Freddiego + tablica długości miesięcy można to załatwić w 3 linijkach - łacznie z deklaracją tablicy. Albert
Wyrzuć deklarację tablicy i przypisanie rozmiaru (ostało się), linia: i = i + 1 też niepotrzebna...
Niestety pozostałe elementy kodu wykonują się po wciśnięciu innych buttonów, więc nie ma możliwości pokazania całego kodu, stałej w deklaracji tablicy użyłem z złego przyzwyczajenia.
W deklaracjach robisz błąd:[syntax=vb] Dim Tablica() As Variant [/syntax] i to wywołuje błąd 13 "type mismatch". Powinno być:[syntax=vb] Dim Tablica As Variant [/syntax]
a co masz w deklaracji tablicy czcionki? taki zapis: static const char font5x8[] PROGMEM = { ... } ???
Zamieszczam jeszcze raz listing funkcji ze szczegółowym komentarzem [syntax=vbscript]Function Osobno(x As String) Dim ch As String 'znak w ciągu tekstowym Dim list 'formalna deklaracja zmiennej typu Variant 'która będzie pełnić funkcję tablicy wynikowej ReDim list(1 To Len(x) + 5) As String 'określenie rozmiaru i typu danych w tablicy 'tablica jest...
Witam! A'propos "przytyku" Wszystko zawarłem w pierwszej odpowiedzi. Koledzy chyba posto-nabijacze ? A to fragment cytowanej, Twojej pierwszej odpowiedzi: 1. Pobierasz rozmiar tablicy przy użyciu scanf("%d", &rozmiar) zmienna rozmiar jest typu całkowitego. Skoro pobiera się rozmiar tablicy przy pomocy funkcji scanf od razu zakładam, że rozmiar tablicy...
zmień deklarację na na float liczba[2] deklaracja float liczba[1]; tworzy jednoelementową tablicę float cin>>float[0] jest poprawnie, ale cin >> float[1] już nie. -- Między innymi z takich powodów do nauki programowania polecam C#/Javę, a nie C++.
Deklaracja tablicy x jest prawidłowa i służy on do obliczania kodu binarnego wiec do odczytania danych z plików trzeba użyć innej tablicy Ta, a próbowałeś to skompilować? Podczas deklaracji tablicy musisz podać jej rozmiar, a i jest niezainicjowane, więc jaki ma rozmiar ta tablica? Poza tym napisz co chcesz osiągnąć, bo wg mnie to trochę dziwne, że...
Deklaracja tablicy type tab=array[1..10] of byte; var tablica:tab; Zapis do tablicy np: Readln(tablica[1]); Wypis z tablicy np Writeln(tablica[1]);
Proponowałbym Ci korzystać z tablic a nie ze zmiennych D1-D46. Wiele operacji można wówczas zautomatyzować. Deklaracja : Dim Rfm_tab(64) As Byte 'deklaracja tablicy 64 elementowej Teraz w procedurze "Wyslij_rfm12" fragment podstawiający liczby do wysłania wygląda tak : For n=1 to 46 Data_to_send = RFM_tab(n) Gosub Rf12_send Next 4 wiersze zamiast...
Siemano. Jeżeli chcesz umieścić np. tablicę jednowymiarową w sekcji EEPROM to możesz wykonać to w taki sposób const unsigned char Tablica[] EEMEM = { 0x3e,0x51,0x49,0x45,0x3e, 0x00,0x42,0x7f,0x40,0x00, 0x42,0x61,0x51,0x49,0x46, 0x21,0x41,0x45,0x4b,0x31 }; Niestety przy takiej deklaracji pierwszy element tablicy nie będzie znajdować...
Jeśli kod, który przedstawiłeś dostałeś od wujka Googla , to spróbuj zrobić coś sam - przypuszczam, że w razie problemów uzyskasz tu pomoc. Jeśli natomiast jest to twój kod, to zastanów się, dlaczego modyfikacja deklaracji tablicy freq spowodowała tak nieoczekiwane przez ciebie efekty.
Deklaracja klasy: [syntax=cpp]class klasa { private: int *tablica; public: klasa(int N); }[/syntax] Konstruktor: [syntax=cpp]klasa::klasa(int n) { tablica = new int[n]; }[/syntax]
Podczas kompilowania pliku oprogramowania do arduino nano atmega 328 wyświetla się błąd kopiowania "declaration of 'FreeSmallFont' as array of references" i podświetla się linia w programie: "extern uint8_t SmallFont Do zanalizowania problemu potrzebny jest wgląd do kodu źródłowego. To nie jest błąd kopiowania, ale błąd związany związany z niepoprawną...
Dodaj #include <avr\pgmspace.h>. Dodano po 1 W dodatku jeśli powyższą definicję umieściłeś w pliku nagłówkowym to masz błąd. Powinna się znaleźć w pliku źródłowym (c), w dodatku tylko w jednym. W nagłówku powinieneś umieścić tylko deklarację ze słowem kluczowym extern. W przeciwnym wypadku skończysz z wielokrotnymi kopiami tej tej tablicy.
Nie widze użycia tych tablic. Nie widzę też deklaracji uart_bufor. Skoro dopisaie czegoś nieużywanego psuje program to pewnie się po prostu przestaje mieścić. Spróbuj dopisać słówko static do deklaracji tablic - kompilator da ostrzeżenie jeśli są nie używane i może je usunąć z kodu.
1) a nie brakuje na końcu } 2) lcd_puts pewnie oczekuje stringa a nie znaku i to z poza zakresu tablicy... 3) z deklaracją tablicy też namieszałeś na pewno ma 6 wierszy?
W pgmspace.h masz funkcję memcpy_P(), która robi dokładnie to co twoja pętla, tyle, że krócej i zapewne szybciej :)
Ostrzeżenia głoszą o niejawnej deklaracji funkcji sprintf, a jej deklaracja znajduje się w stdio.h
(at)JacekCz Dlaczego te deklaracje tablic są zakomentowane? Mam je usunąć czy były prawidłowe? Bo nie rozumiem. I w sumie największy problem mam z uzupełnieniem tego szkieletu o obliczenie tej średniej.. Od czego mógłbym zacząć?
Masz dwa razy deklaracje tablicy kod[]. Z tego co pamiętam to zmienna lokalna przysłania globalną, więc w mainie i przerwaniu operujesz na dwóch róznych zmiennych. EDIT: Tak, dobrze pamiętam, lokalna zmienna przesłania globalną ;)
http://cpp0x.pl/kursy/Kurs-C++/Tablice-z... Rozróżniasz deklarację tablicy od definicji, bo wydaje mi się, że nie. Po drugie - jak chciałbyś zwrócić tablicę, która jest (w tym twoim przypadku) zmienną lokalną niestatyczną?
Nie podałeś rozmiaru tablicy przy deklaracji wskaźnika, zadeklarowłeś zmienna "len" ale nie podałeś wielkości. Wielkość tablicy możesz wpisać jak przy deklaracji.
Całość - to deklaracja i definicja tablicy adresów obsługi wyjątków w Cortex-M. Tablica ta zawiera adresy procedur obsługi wyjątków, ale jej pierwszy element nie jest adresem procedury, tylko inicjalną wartością wskaźnika stosu, ładowaną przy starcie procesora. kawałki, o które pytasz, to: Pierwsze - deklaracja tablicy wskaźników na funkcje, czyli adresów...
Błąd jest nie w deklaracji tablicy a w jej wywołaniu w programie. Piszesz: Linia1 = "1.Menu 2.Czas " A powinieneś: Linia1(1) = "1.Menu 2.Czas " Popraw tez pozostałe i będzie dobrze.
Jeśli mogę coś podpowiedzieć to operacje na tablicach na pewno prościej przeprowadzić w C lub C++ niż w Pascalu. proszę zacząć od deklaracji tablic jedno lub dwuwymiarowych w zależności od zadania. W jednym zadaniu sprawa jest uproszczona bo na samym etapie deklaracji możemy wpisać wartości do tablicy i zadeklarować jej rozmiar. No ale na początek proszę...
Jeśli liczbę kolumn wprowadzasz jako argument to zdeklaruj liczbę kolumn jako właściwość typu int i odwoluj się dalej do właściwości miast liczby w kodzie. Wtedy w całej metodzie raz wprowadzona liczba kolumn będzie dostępna i z góry określona. Jest to logiczne gdyż przy deklaracji tablicy okreslasz jej wymiary m
Tak dobrze to nie ma. Nie da sie zrobić funkcji która bedzie dopiero w momencie wywołania wynajdywała jaki jest ten rozmiar dla jej argumentu. Metoda z sizeof() działa dla deklaracji znanych tablic. Jej ładniejsza wersja (dla dowolnych tablic), w miejsce x używasz nazwy tablicy (np. tab) #define TABELEM( x ) ((unsigned)(sizeof(x...
Deklaruję sobie funkcję w ten sposób: void funkcja (uint8_t tablica[6]); Gdy wywołuje ją: uint8_t tablica[] = {0,1,2,3,4,5}; funkcja (tablica); Wszystko jest ok. Jak jednak wywołać ta funkcję, żeby nie deklarowac za każdym razem tablicy. Chodzi mi o coś w stylu funkcja ({0,1,2,3,4,5});
Hmm, jakoś mi "uciekła" ta informacja o wyrównywanie adresu do 4. Po deklaracji tablicy jako char flashdata[512] __attribute__ ((aligned (4))); IAP w końcu działa poprawnie. Dzięki za pomoc.
niezdefiniowana referencja jest do wymiar i tab, podejrzewam że chodzi o deklaracje tablicy, która ma zawierać stringi, nie wiem własnie jak to rozwiązać żeby tworzyła się taka jaką chce w danej chwili (o wartosci wymiar) a friend to tak jakoś przy przeładowaniach operatorów z przyzwyczajenia ;p
#include<stdio.h> #include<iostream.h> #include <math.h> void main() { FILE *we, *wy; //deklaracja uchwytow do plikow int i, licznik; int tablica_ASCII[200]; //deklaracja tablicy w znakow ASCII char znak; char haslo[200]; //dekaracja tablicy w ktorej bedzie przechowywane haslo char plik_jawny[20];...
Chodzi o rozmiar w czasie deklaracji?: Dodano po 1 No chyba że zwaliłem kolejność programu: tzn: najpierw powinno być pobranie wartości z klawiatury a następnie deklaracja tablicy. Ale to chyba w tworzeniu dynamicznym nie ma znaczenia.
Dziękuję za chęć pomocy krru i zbv . Problem okazał się w zbyt małej deklaracji tablicy. Zmiana częstotliwości SPI powodowała zmianę nasilenia problemu wyłącznie przypadkowo. Jeszcze raz dzięki, czasem po prostu trzeba się wygadać na forum i pomysł przychodzi sam do głowy.
Przypisujesz wartości tablicy jako łańcuchy (cudzysłowy) a nie liczby. Z tymi If-Else pewnie działa, ale jakoś tak zagmatwane... Polecenie opuszczenia pętli (Exit For) po mojemu jest niepotrzebne. Sub Macro1() 'deklaracje tablic grup POTS,DSL,inne dopisać Dim POTS(1 To 2) As Variant POTS(1) = 0.2 POTS(2) = 0.3 Dim DSL(1...
Tablice mają po kilkaset elementów i po prostu dla wiekszej przejrzystości chcę je umieścić w dll. Inną sprawą jest to,że te same tablice jeszcze mogą mi się przydać. Klikając na button chcę wyświetlać kolejne rekordy z tablicy. Po pierwszym kliknięciu 1 wartość z tablicy, po kolejnym 2 itd. Co do niepotrzebnych deklaracji tablic, już rozumiem, że to...
Tak jak pisałem, nie czepiajmy się peryferiów, bo skoro działa pod bascomem takie sterowanie to i pod C powinno. Problem polega na tym, że do PORTC nie ląduje zawartość pola tablicy o indeksie pozycja, zarówno w moim przykładzie jak i w Twoim. Swoje spostrzeżenia opieram na obserwacji symulacji pod AVR Studio. Nie wydaje mi się aby coś z nim było nie...
Już sobie poradziłam, przypadkiem miałam dwukrotną deklarację tej tablicy. Dziękuję! :)
A powiedz coś bliżej o data - jak wygląda deklaracja tej tablicy?
taka deklaracja Dim tablica (2*2) AS Byte wywala błąd kompilatra, więc chyba tak się nieda
Cześć, void dupa() { ; } int main() { dupa(); int test; //FILINFO Info[1000]; while(1) { ; } return 0; } Jeśli odkomentuję deklarację tablicy FILINFO Info , to przy wejściu do funkcji dupa(); wyskoczy wyjątek, który przenosi sterowanie do HardFault_Handler() . Dzieje się tak niezależnie...
A przypadkiem elementów nie numeruje się od zera? Owszem od zera: displayArray dziesięciu :D elementów.
możesz np tak: var tab: array[1..10] of Single=(0.0,1.1,2.2,3.3,4.4,5.5,6.6,... Nie mam pod ręką kompilatora ale jeśli chcesz przypisać wartości to można to tylko zrobić dla stałych. Przenieś tę deklarację do CONST.
Wartość z ADC odczytujesz ciągle, a powinieneś ją odczytywać tak samo wewnątrz if'a. Do tego zależnie od tego w którym miejscu się zatrzymasz, może być już po nowym odczycie, ale przed nową konwersją - wtedy masz w zmiennej nową wartość, w tablicy starego stringa. 4\/3!!
Tak, to wiem, ale funkcja będzie pobierać dane wg swojej deklaracji czy wg deklaracji tablicy? Według swojej deklaracji. Jeżeli przekażesz do funkcji tablice: [syntax=c] uint8_t tab[] = {0x14, 0x2A, 0x56, 0xDF}; [/syntax] to w funkcji odczytasz przez wskaźnik na zmienna 16 bitowa (zakładając ze procek jest little endian): [syntax=c] font[0] - 0x2A14;...
Chodzi tu o to, że deklaracja tablicy obiektów, a więc zaalokowanie pamięci na te obiekty, jest jednocześnie ich utworzeniem. Ponieważ nie ma żadnych parametrów utworzenia każdego obiektu z osobna, każdy z nich zostanie utworzony za pomocą konstruktora domyślnego. Jeżeli chcesz żeby widać było globalnie tablicę, a stworzenie samych obiektów odkładasz...
(at)rogeros Koledze (at)rajszym chodziło o pierwszy parametr przekazywany do HAL_UART_Receive_IT, czyli o huart2. Według mnie powinno tam być huart2 zamiast &huart2 (jako że parametr funkcji przykrywa globalny symbol huart2). Drugi parametr również był przekazywany w sposób który generuje warning. Ponadto usuń volatile z deklaracji tablicy Received....
No nie! Dzięęęękuje!!! Nie wiem czy da się stawiać piwo na tym forum, ale jeśli tak to je masz ;-) Popatrz tylko jakie zaćmienie z mojej strony! Miałeś 100% racji. Podczas modernizacji kodu zmieniłem przypadkowo deklaracje tablicy. Powinno być: unsigned long Matryca[wysokosc_wyswietlacza] Dziękuję! Przepraszam, że niepokoiłem. Temat zamknięty.
Pisząc program w C na jakiś uC czasem zachodzi potrzeba dodania np. danych jakiegoś obrazka. Zwykle w takiej sytuacji przerabiam plik z obrazkiem np. na deklarację tablicy, do której był wpisywany odpowiedni ciąg bajtów. Czy istnieje jakiś prostszy sposób na dołączenie podczas kompilacji danych binarnych znajdujących się w oddzielnym pliku ?
Czemu w odwołaniach do ListBox-ów używasz Object? Mają przecież taką piękną właściwość jak Value. Spróbuj z nią. Na marginesie. Wspomniana wcześniej deklaracja tablicy nie ma negatywnego wpływu na działanie Twojego kodu. Po prostu niepotrzebnie zadeklarowałeś tablicę o jeden element większą. Jeżeli chcesz, żeby tablica zaczynała się o 1 zadeklaruj:...
tablic kradzież sortowanie tablic błędy tablic
zmiana oprogramowania philips schemat sprężarka klimatyzacja excel wynik szuka
Porsche Panamera 971 – brak napięcia na przyciskach, manetkach i podświetleniu kierownicy TCL 50P615 TV VGH/VGL Voltage Oscillation Issue on Integrated Mainboard – Causes and Fixes