Wysypuje się ? Na warningu ? Chodzi o to, że char* to staroć i powinno się używać standardowej biblioteki c++ do operacji na napisach.
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.
...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"))&...
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.
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.
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)...
Rachel załamujesz mnie :D __IO uint32_t AFR[2] to deklaracja tablicy dwuelementowej a w C indeksuje się je od 0 :)
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....
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() {...
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])...
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
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...
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.
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...
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++.
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 //--------------------------------------...
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]
Ostrzeżenia głoszą o niejawnej deklaracji funkcji sprintf, a jej deklaracja znajduje się w stdio.h
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...
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!!
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...
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...
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];...
Przykład wyrwany z mojego programu w asm (AVRStudio) : .ESEG .org0x0000 .dw T0dly ; must be > 0 -> that means correct timer0 overflow settings .dw IntrEEPROMSRAMEnd EEpValueAddSub:; Value of correction data .dbLOW(eeValueAddSub), BYTE2(eeValueAddSub), BYTE3(eeValueAddSub), BYTE4(eeValueAddSub) EEpValueAddSubMax:;...
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 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’ };
Użyj raczej cyfry++, spacje++ - jakoś jest to częściej spotykane - oraz zainicjuj na 0 każdą zmienną która tego wymaga, deklaracja taka jak masz teraz, inicjuje na 0 tylko zmienną spacje .
Cierpliwości kolego, wszystko wymaga czasu. Więc tak, doszedłem do wniosku ze caly problem nalezy rozwiazac od poczatku. Ruszyc baniakiem, wypic pare piw ( o papieroskach nie wspomne ), jak w kartach, dym piwo i przekleństwo:D. Efekt tej walki przedstawiam ponizej, a w zalaczniku przykladzik. Sposob edycji wynikow moze sie wydawac troche dziwny, ale...
Gwałcisz komputer bez kondoma!! Czemu podajesz do funkcji srand adres zmiennej czas ? Jaki miałeś cel pisząc to...co napisałeś? deklaracja int tab licząc od zera . Więc odwołanie tab nie istnieje!! . Mozesz operowac na zakresie 0..(N-1) Twój for zapisuje do tablicy 'tab' 10k razy liczbę w element tablicy który nie istnieje (patrz wyzej). Czy na pewno...
chciałbym aby i ona była dostępna globalnie. co w tym wypadku? To nie definiuj takich zmiennych w pliku *.h tylko załóż sobie dwa pliki: led.c oraz led.h w pliku led.c zdefiniuj tę zmienną na początku, oczywiście powyżej zrób #include "led.h" zapisz plik potem w pliku led.c napisz tylko deklarację tej zmiennej (bez części definicji wartości całej tablicy...
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.
1. Dokończ procedurę "wypisz" i zobaczysz co się znajduję w Twojej bazie. 2. Czy już przemyślałeś metodę usuwania rekordów z takiej statycznej tablicy rekordów? Usunięcie rekordu ze środka spowoduje powstanie "dziury", z którą trzeba będzie coś zrobić... 3. Nic dziwnego, że dostajesz błąd o niezgodności typów... otwierasz/tworzysz plik tekstowy i próbujesz...
Głupi może pomysł, bo ja tylko asm, ale może to? #include <avr/io.h> avr/interrupt.h inkluduje go. Ja od razu mówię Ci, że używa tego starego skoro Ci nie działa. Naprawdę go wywal i będzie po problemie... Po co Ci tak stary kompilator? 4\/3!! Też tak myślę - interfejs przerwań się zmienił jakiś (spory) czas temu a tutaj ewidentnie ISR() nie...
Witam! listing nr 1: deklaracja: data_ur data_ur1 nie dość, że deklaracja występuje PO instrukcji zamiast przed nią, to jeszcze jest błąd w nazwie typu. (Czyżby to w ogóle się skompilowało bez uwag czy błędów?) Zamiast: [syntax=c]int main(void) { printf("struktury\n" data_ur data_ur1; ... ... ... }[/syntax] powinno być: [syntax=c]int main(void) { struct...
Znalazłem ten program zagrzebany na dysku, całość działała jak generator i oscyloskop w jednym przy użyciu karty akwizycyjnej Advantech'a, tutaj jest fragment dotyczący rysowania przybiegu. Na samym początku plików jest deklaracja i definicja klasy CDrawStatic dziedzicząca po CStatic. Do rysowania trzeba nadpisać metodę OnPaint (wcześniej pomyłkowo...
string jest tablicą charów. deklarujac char string[]="abcd"; otrzymujesz tablice 5cio elementowa, do ktorej zmienna string jest wskaznikiem [; 1. dlaczego 5 elementowa? bo masz w niej 'abcd\0' - znak \0 (ASCII 0) oznacza koniec stringa 2. dlaczgo wskaznik? otoz zmienna 'string' jest wskaznikiem pierwszego elementu tablicy czyli string[0]. w istocie...
Dodam tylko że użycie metody którą opisałem nie wymaga zmieniania tablicy w locie jak to zrobił Marek_Skalski . U mnie kod z przerwania wygląda tak: [syntax=c] Angle2 += Angle2_Step; Angle2_2 = Angle2 >> 6; U = (sinus_3har[(Angle2_2 + 0) & 0x03FF] * Vm * 2816) >> 20; V = (sinus_3har[(Angle2_2 + 341) & 0x03FF] * Vm * 2816) >>...
Przeniosę to przerwanie i tablice do plików .c. Ale wtedy w pliku głównym .c mam includować plik przerwania .c? Myślałem, że tam inkluduje się tylko pliki .h Nie musisz include'ować pliku .c, a nawet nie powinieneś. W Makefile dopisz go tylko do plików źródłowych (SRC = $(TARGET).c przerwanie.c inny_plik.c itd.) a linker odwali resztę roboty. Zostało...
OMG :D Ale lenistwo. Ale z tej nudy odpiszę co i jak. Swoje przykłady będę opierał o PHP i C++. Język programowania aktualnie prezentowany jest ukazany na górze listingu kodu. Punkty odnoszą się do pierwszego postu: (informacje od (at)marekkopec12 także są jak najbardziej poprawne ;) ): 1) FOR - pętla, która wykona się, o ile warunek zostanie spełniony....
Witam Mam problem z odczytem z pliku plik wejściowy wygląda następująco 1 2 3 4 5 6 7 8 8 9 10 11 12 13 14 plik wyjściowy 4064048 4064048 0 0 0 0 0 0 0 Niestety powinien wyglądać podobnie ja wejściowy :| Tak wygląda kod programu - kompilator to GCC W zastosowaniu do plików tekstowych to nie jest błąd, jednak ogólnie, w takich konstrukcjach zmienna...
Twój kod niewiele mówi. Podajesz za mało danych. Nie wiadomo np.: Czy byte to zmienna globalna (można się tego ewentualnie domyślić) i czy jest zadeklarowana jako volatile (to trudno przewidzieć)? Czy warunek if (odebr_zn=='1') sprawdzasz w przerwaniu, czy w pętli głównej? Czemu ma służyć deklaracja unsigned char i=0; ? Co to za funkcje (makra?) RS485_INIT();...
Witam, w uVision3 zadeklarowałem tablice 2D: int X[200][20]; I jako test zapisuje do 1,1 liczbę 1: X[1][1] = 1; uVision jednak wywala mi błąd, że: BIBLIOTEKI.axf: error: L6047U: The code in this image is 3512 bytes - this version of the linker will not create images that large W czym problem? Zła deklaracja? Bez tablicy...
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...
(at)ElektrodaBot (at)ElektrodaBot proszę, przeanalizuj ten z załącznik stepgen.c i sprawdź, czy jest on poprawny. A drugi problem to "void stepgen_update(stepgen_t *stg)". Nie wiem, gdzie to wpisać. Bezpośrednia odpowiedź na pytanie Z załączonego kodu wynika, że główny problem dotyczy zarówno niekompletnej (lub błędnej) deklaracji struktur w pliku...
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...
Tę tablicę alokujesz na stosie, a jego rozmiar jest zapewne nie za duży. Albo alokuj statycznie, albo powiększ stos w ustawieniach projektu.
do tego najlepszym rozwiązaniem będzie dyrektywa include dołączająca do głównego pliku, Raczej jest to najgorsze rozwiązanie bo include w zasadzie nie do tego służy. Jest dyrektywą wstępnej analizy tekstowej programu i efektywnie działa tak samo jakbyś w edytorze w miejsce include wkopiował zawartość wstawianego pliku. Include nie definiuje modułu...
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.
bascom deklaracja tablicy deklaracja stosu deklaracja zgodnosci
indesit pralka wstępne ciecz komputera silnik pojazd elektryczny
diagnostyka oscyloskopem diagnostyka oscyloskopem
Specyfikacje skrzyni biegów Fiat Ducato 2.5D 1988 Skrzynie biegów z dłuższymi przełożeniami do Fiata Ducato 2,5D 1988