zmienię deklarację tej zmiennej na zmienna wskaźnikową Ale ustawiasz ten wskaźnik na coś, prawda?
Tak jak pisałem w pierwszym poście, w procedurze TForm1.ComPortRxChar ustawiłem pułapkę i gdy nie ma deklaracji: "zmienna: String;" to jest OK, jak wstawię tą deklarację to procedura przestaje być obsługiwana.
Hej Według User's Guide sbit może być użyty jedynie do definiowania bitów w SFR. Pozdrawiam
Nie chodziło o wartość początkową (standard w takiej sytuacji gwarantuje zero), tylko - jak już pisałem - definicję. W klasie jest tylko deklaracja, a przecież wykorzystywana zmienna musi być gdzieś zdefiniowana! Zmienne statyczne klasy istnieją niezależnie od jej obiektów, muszą być zdefiniowane osobno (raz!).
main.c : [syntax=c] int zmienna; ......[/syntax] xxx.c [syntax=c] #include "zmienne.h" ... x = zmienna; ....[/syntax] zmienne h [syntax=c] #ifndef _ZMIENNE_H_ #define _ZMIENNE_H_ extern int zmienna; .... #endif[/syntax]
Za każdym razem jak uruchamiasz tę funkcję zmienna x jest na początku ustawiana na wartość 0. Przenieś deklarację zmiennej x poza funkcję (ma to być zmienna globalna).
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
Moim zdaniem powinno działać. Jak zadeklarowana jest zmienna k? Spróbuj dodać do deklaracji atrybut "volatile".
Tak już uroda C. I bardzo dobrze ;). Różnica polega tylko na dostępności zmiennej. Statyczna lokalna zmienna dostępna jest tylko w ciele funkcji, zmienna globalna dostępna jest dla wszystkich funkcji zapisanych w tekście programu po deklaracji tej zmiennej? O, już ktoś odpowiedział.
W deklaracji parametrów zmienna ma typ "DB_ANY". Przy wywołaniu musisz poprawić z samego nr DB na nazwę DB. Paweł
A czy w programie poza deklaracją ta zmienna (stała) jest stosowana - jeśli nie to linker może ją odrzucać.
volatile unsigned char UART0recv, UARTBuffer[BUFF_SIZE], UARTCount, UARTGet, rx_counter; A czy przypadkiem tylko pierwsza zmienna będzie volatile przy takiej deklaracji?
No i chyba nie można deklarować zmiennej jako extern a potem definiować jako static. To może niuans, ale taka interpretacja nawet mi nie przyszła do głowy, jak czytałem pytania. :) W każdym razie - w tym samym kontekście, oczywiście, nie można. Ale jeżeli w innym (wewnątrz funkcji czy bloku), to można - będzie to inna zmienna, przesłaniająca definicję/deklarację...
Niestety...niepomogło, deklaracja jako zmienna globalna niemiała żadnego wpływu na program. Poprostu nie chce działać...pomysły się mnie też kończą.
Czy w sterowniku jest jakaś zmienna odpowiedzialna za zanik zasilania ? A co za problem stworzyć samemu marker typu BOOL w deklaracji VAR (będzie to zmienna ulotna). Po zaniku zasilania tego typu zmienne zawsze są zerowane. Na początku programu wykonujemy operację: IF bAfterReboot = 0 THEN (*tutaj zamykamy pliki*); bAfterReboot := 1; END_IF;...
Nie mozna tak zrobic, bo nie masz gwarancji gdzie linker umiesci zmienna - zwykle robi to w kolejnosci deklaracji, ale wcale nie musi. Zreszta to moze sie popsuc nawet i bez ingerencji linkera - wystarczy, ze ktorys naglowek stworzy zmienna w EEPROM. Sekcje pamieci EEPROM mozna przesunac przekazujac linkerowi polecenie --section-start (pamietaj o tym,...
No i słusznie wyskakuje... nie masz deklaracji ani definicji tempC w pętli głównej programu, występuje tylko jako zmienna lokalna w jednej z funkcji.
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.
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;
Proponuje umieścić deklarację typu: volatile uint8_t DZIESIATKI, JEDNOSTKI; przed funkcją main. Tak zadeklarowana zmienna powinna być widoczna w przerwaniu oraz każdej innej funkcji.
Ten kod się nie skompiluje. Brak deklaracji zmiennych "bo" i "zmienna".
To jak w takim razie zapisać wyrażenie: zmienna = ~zmienna; Powinno być, że raz zmienna = 0, a raz zmienna = 1; natomiast jeśli biorę w deklaracji, że zmienna jest typu unsigned char to raz zmienna jest 0x01 a raz jest 0xFE; Odwraca całyą zmienną z 0x00000001 na 0x11111110; A nie w tym rzecz. Więc jak to zapisać żeby było dobrze???
Config Timer0 = Timer , Prescale = 64 On Timer0 Odmierz_1s 'podprogram wykonywany podczas wystapienia przerwania Dim Licz_8ms As Byte 'deklaracja zmiennej Enable Interrupts 'aktywacja globalnego systemu przerwan Enable Timer0 'aktywacja timera0 Counter0 = 131 'wpisanie wartosci początkowej do timera0 Dim Sek As Byte 'deklaracja zmienna zawierajaca...
Można jeszcze zadeklarować zmienną w pliku jednym i drugim z tym że w drugim zmienna z parametrem 'extern' - kompilator będzie szukał zmiennej w innych plikach. No się spóźniłem ;)
wydaje mi się że Twoje rozwiązanie wprowadza mały błąd. Deklaracja zmiennej wynik jako int32_t powoduje że zmienna w pamięci jest traktowana jako binarnie zapisana liczba w kodzie U2 (uzupełnień do dwóch). Poczytaj o nim np na wikipedi. Dlatego wychodzi liczba ujemna. Zadeklaruj wynik jako uint32_t - ten typ to liczba 32bitowa zapisana w naturalnym...
bez apelacyjne operator extern powinno się tam znaleźć. To zleży jak przebiega proces kompilacji. Jeżeli kompilujemy wszystkie pliki na raz to w sumie ta dyrektywa o której wspominasz działa tak jak oczekujesz i rzeczywiście zmienna jest zadeklarowana tylko raz. Natomiast jak kompilujemy każdy plik źródłowy osobno do postaci pośredniej i później linkujemy...
Nie musisz tworzyć pliku .h, chociaż takie rozwiązanie jest eleganckie. Jeśli rzecz dotyczy niewielkiej liczby zmiennych lub funkcji używanych tylko w jednym pliku poza tym, w którym są zdefiniowane, możesz ich deklaracje jako zewnętrznych zapisać po prostu w pliku .c, w którym mają być używane, np. extern int zmienna; int funkcja(void); Kompilatorowi...
To żadne udziwnienia. Od tego Jest PSTR bym "w locie" definiował wskaźnik do char w pamięci programu Masz: keyPad(wskaźnik,zmienna); a piszesz: keyPad(deklaracja_wskaźnika;wskaźnik;,zm... Nie mów że nie jest to dziwne miejsce na deklaracje wskaźnika. Napisz po prostu: keyPad((const char*)"Jakis tekst"), zmiennaTypuString);
Bo nie ma to żadnego znaczenia, gdzie jest spacja? Dodano po 3 BTW, zapis typ *zmienna, to nie deklaracja, a definicja zmiennej. Deklaracją byłoby np. extern "C" typ *zmienna.
(at)laeleigh Proponuję do zrobienia dwie rzeczy na początek. Odnoszę się do kodu z pierwszego postu . Zmiana trybu wejścia obsługującego przycisk: https://obrazki.elektroda.pl/4585378900_...
Witam! Jeśli definiowana funkcja nie jest poprzedzona typem, wówczas kompilator przyjmuje, że zwraca wartość typu int. Ponadto w funkcji main, funkcja obliczanie_temp jest wywoływana przed jej definicją, a nie po. W tym przypadku musi w funkcji main lub przed nią wystąpić deklaracja potwierdzająca (prototyp). Kolejne niedopatrzenie - zmienna celsius...
Dodaj zmienna globalną i za każdym razem ją powiększaj (zwróć uwage gdzie jest deklaracja zmiennej "i" - to ważne) Dim i As Integer Sub kopiowanie() i = i + 1 ActiveSheet.Columns(5).Copy ActiveSheet.Columns(6 + i).PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End Sub
... czy jest to możliwe? Raczej nie, ale jest wysoce prawdopodobne, że Twoja zmienna "B" zmienia wartość na "0". Na samym początku kodu, po deklaracji $Crystal dodaj "takie coś"...[syntax=basic4gl]Set Mcucsr.jtd Set Mcucsr.jtd[/syntax]
Chodzi o deklarację zmiennej data W tym przypadku wystarczy, że bufor data zadeklarujesz jako static. Masz tu jeszcze kilka błędów. Funkcja receive zwraca char a Ty próbujesz zwrócić char *. Dodatkowo w main próbujesz przypisać to co zwraca receive do tablicy buffer (co sie nie powinno skompilować). Spróbuj tak: [syntax=c] static const unsigned char*...
U mnie zmienna i jak również i2 ładnie się zmienia. Jedynie ta deklaracja jest coś nie tak: TCNT0= tau0; Pracuję na AVR Studio 4,12
Dzięki, rzeczywiście deklaracja xdata float zmienna wystarczyła. Jeśli chodzi o lutowanie, to nie było większych problemów. Lutownica Pensol i grot 0,4mm, do tego FLUX i w 10min można spokojnie zlutować. BTW widziałem grot Wellera z falą, to jest wypas.
błąd :Invalid for control variable Zmień deklarację zmiennej "i" - zmienna sterująca w pętli "for" musi być zmienną typu porządkowego (np. byte, word, integer...), nie typu "real" i program zadziała.
Za wyjątkiem chyba, że w c zmienna używana do deklaracji tablicy nie może być dynamiczna. Albo się myle
Zmienna temp powinna być typu float a nie int. Tak z ciekawości to co to za kompilator, że pozwala na deklaracje zmiennych w środku funkcji? GCC chyba na to nie pozwala (CVAVR tym bardziej).
to chyba mowisz o zawieraniu a nie dziedziczeniu :p i uzywasz akcesorow, co jest najlepszym rozwiązaniem.... ale coś dalej mi nie gra :p powinieneś mieć to tak: class A { public: void setY(double _y) {mY = _y;}; protected: double mY; } class B { public: void doSmth() {mA.setY(1.0f);};...
Zmienna może być globalna, czyli deklaracja przed void setup(). Reszta w pętli loop()...
Nie podałeś: - deklaracji zmiennych, - jakie wartości przyjmuje zmienna mcpadc. Opisz dokładnie co znaczy: Nie działa:
Deklaracja zmiennych na początku programu jest dobrym nawykiem, bez tego zadeklarowana zmienna będzie początkowo przechowywać nieustaloną wartość (śmieć z pamięci), więc zadeklarowanie jest ok. To warunek, który jest ustalony dla pętel while jest błędny. W Twoim kodzie użyty jest operator większości, więc sprawdzamy czy licznik3 (lub licznik2) jest...
poprawilem wedlug rad na ">=" ale teraz mam pytanie czy lepiej zmienna liczniku zadeklarowac jako static u08 licznik=0; czy na poczatku wywolania funkcji USART_getfile przypisac ja do liczniku=usartbufferlicznik; przy czym usartbufferlicznik jest zmienna globalna? deklaracja u08 usartbufferlicznik=0;
Prawdopodobnie nieprawidłowa jest ścieżka do plików. Ustaw sobie punkt zatrzymania na "Set pic = ActiveSheet.Pictures.Insert(imgLocation)... i podejrzyj ścieżkę pliku. https://obrazki.elektroda.pl/5614028400_... Czemu ma służyć zmienna "imgName"? Nie jest potem używana. Na początku kodu dodawaj zawsze "Option Explicit", będzie to wymagać...
W załączniku poprawiony kod, który się kompiluje. Takie drobne uwagi odemnie: 1. Wywal te conio.h, biblioteka iostream ma wszystko czego potrzebujesz, a conio nie jest przenośne na inne systemu. 2. NIGDY nie pisz deklaracji zmiennych w taki sposób: unsigned zmienna; Unsigned nie jest typem! Jest to słowo zastrzeżone przez kompilator i oznacza że dana...
Znak komentarza przy deklaracji zmiennej A pozostanie, bo zmienna była dwa razy zadeklarowana. Instrukcję config portx.y zmieniłem na config pinx.y. Program nadal zachowuje się tak samo.
#lit1 jest z tego co pamietam oznaczeniem numeru bitu, czyli cyfra od 0 do 15. takie operacje realizowane sa na normalnych zmiennych/rejestrach o wiekszym rozmiarze. warto chyba jeszcze dodac, ze powyzsza deklaracja stworzy ci zmienna STATYCZNA, to znaczy bedzie ona zajmowac miejsce w pamieci przez caly czas. zmienne lokalne dla dsPIC sa tworzone albo...
Definicja struktury musi być widoczna we wszystkich plikach .c, w których jest używana - stąd najwygodniej umieścić ją w pliku nagłówkowym. Wtedy jest pewność, że we wszystkich plikach .c używana jest jedna i ta sama definicja. Pliki .h to żadna magia - polecenie #include powoduje najnormalniejsze, tekstowe włączenie pliku w miejscu wystąpienia tego...
Delphi 2009 jako standard używa kodowania Unicode. Musisz tak przerobić kod, żeby używał Unicode, lub dostosować go tak, aby wyświetlał "normalne" znaki. Podstawową różnicą jest deklaracja zmiennych znakowych. W Delphi 5 to był Char i zajmował w pamięci 1 bajt, w Delphi 2k9 zmienna Char zajmuje 2 bajty . Odpowiednikiem "starego" Char dla Delphi 2k9...
zmienna zadklarowana jest jako char zaraz na początku programu zaraz po załączeniu potrzebnych bibliotek deklaracja funkcji jako extern void send(char data) nic nie wniosła :(
Jeśli pragniesz posłużyć się zmienną globalną widzianą w innych modułach możesz to zrobić na przykład tak: 1) z menu "Project" wybierz opcję "View Source" - w nowej zakładce pojawi się kod źródłowy modułu zawierającego główną funkcję WinMain 2) w w/w pliku zdefiniuj swoją zmienną jako zwykłą zmienną globalną np.: int zmienna; 3) utwórz oddzielny plik...
To, że nie wchodzi w przerwanie stwierdziłeś debugerem czy zmianą wartości "aaa"? .Jak sprawdzasz czy zmienna "aaa" zmieniła wartość? Pokaż deklarację "aaa" i jak ja odczytujesz (wyświetlasz).
Witam !!! Chcę wysłać a z komórki i załączyć diodę Mogą mi koledzy podpowiedzieć co robię źle w programie ? [syntax=text] $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config Serialin = Buffered , Size = 30 Config Portd = &B10111111 : Portd = &B00000000 'konfiguracja portow Config Portb = &B11111111 : Portb = &B00000000 Config Portc = &B00000000...
Witam. Zmienna 'tab' w deklaracji powinna mieć modyfikator const . Operator ' || ' też zapewne źle został użyty. To na podstawie zdjęcia, które zamieściłeś w 1 poście. Pokaż choć część kodu.
Witam! 1) Można zamiast wersji tablicowej użyć wersji wskaźnikowej która "jest w ogólności szybsza" - (B.K, D.R Język C), chociaż współczesne kompilatory (a dokładniej ich optymalizatory) są o niebo lepsze niż te w czasach kiedy powstawał ten podręcznik, więc powyższe stwierdzenie może być niebyłe w przypadku zastosowania odpowiedniej optymalizacji...
no to niech kolega pomyśli co się za tym OCR1 kryje ? Może coś takiego _SFR_IO8 (..)? a znak &zmienna to nic innego jak pobranie adresu zmiennej znajdującej się gdzieś w pamięci więc się nie ma czemu dziwić. mało tego twoja zmienna reg w swojej deklaracji unsigned int *reg może pobierać adresy innych zmiennych tego samego typu czyli przykładowo reg=&zmienna...
Jak w WinAVR zadeklarować tablicę która jest stała, żeby załadowało ją do pamięci porgramu, a nie do RAM? Zauwałzyłem, że po zadeklarowaniu w ten sposób liczba komórek RAM zmniejsza się: const uint16_t zmienna[10] = {0,1,2,3,4,5,6,7,8,9};
Dir jest instrukcją w Bascom'e, zmienna nie może mieć takiej nazwy. Zmień w całym programie nazwę zmiennej Dir np. na Dir2 . Dodaj deklaracje procedury Ddelay . [syntax=basic4gl]Declare Sub Ddelay[/syntax]
To czy gwiazdka jest przy typie, czy przy zmiennej nie ma znaczenia. Jedni stawiają przy typie, bo gwiazdka w tym kontekście oznacza "typ wskaźnikowy na obiekt typu...". Drudzy stawiają przy nazwie zmiennej, bo np: int *a, b; to osobna deklaracja wskaźnika (*a) i zmiennej (b). Do wskaźnika można przypisać adres obiektu. Adres uzyskujesz korzystając...
W przypadku zmiennych extern oznacza deklarację, czyli mówisz kompilatorowi tylko tyle ze ta zmienna istnieje nie tworząc jej. Definicja czyli bez extern Tworzy tą zmienną. Podobnie jest z funkcjami ale tam extern ma trochę inne zastosowanie. Deklaracja - mówisz kompilatorowi jak dany twór wygląda. Definicja - kompilator stworzy ten twór.
Witam! Są następujące przypadki: - Jeśli np zmienna zewnętrzna została zadeklarowana w innym pliku, wówczas w bieżącym pliku musi wystąpić potwierdzenie tejże deklaracji poprzedzone klasą pamięci extern. - dotyczy funkcji w starszych wersjach języka C (K&R). Jeśli definicja funkcji nie jest poprzedzona typem to kompilator przyjmuje domyślnie, że typem...
Tak, jak pisałem w #1, mam zmienną imieninyString. Zawiera ona kilka imion rozdzielonych przecinkami. Potrzebuję z tej zmiennej zapisać do tablicy zmiennej typu char, żeby dalej w kodzie, w pętli, odwołać się do np. pierwszego imienia przez indeks - imieChar Dodano po 9 Czy zapis [syntax=c]char imionaChar[22];[/syntax] oznacza zmienna składającą się...
Niestety przy takiej prędkości obrotowej enkoder nie "łapie" już wszystkich punktów. Jeśli dobrze rozumiem, to chodzi Ci o to że nie widzisz wszystkich liczb co jeden po drugiej stronie portu szeregowego. A to akurat nie jest niczym dziwnym bo klasa Serial zapewnia (na UNO) transmisję mniejszą niż 50 tysięcy znaków na sekundę. A Ty potrzebujesz (600RPM/60s*720imp)...
Cortex nie potrzebuje __attribute__ ((interrupt)); przy deklaracji procedur obsługi wyjątków! W Twojej procedurze zmienna stan zawsze będzie miała wartość 0, bo jest za krótka na to, aby zmieścił się w niej testowany bit.
Dla timer 8it bez błędu odliczania można zastosować preskaler 64 i następującą procedurę obsługi ( kod w C ) [syntax=c] volatile uint8_t flaga // deklaracja jako zmienna globalna i pooling zmiennej w pętli głównej uint8_t main( void ){ flaga = 0 while(1){ if(flaga == 1){ flaga = 0 // dalej funkcje wykonywane co 1s } } } ISR(TIMER0_OVF_vect) { static...
Jednak wygląda tak, jakby zmienna statyczna nie była statyczna, ponieważ po każdym naciśnięciu klawisza, zwraca tę samą wartość. To bardzo dobrze. Lokalna zmienna statyczna w funkcji może być tylko raz inicjowana i tak naprawdę jest zmienną globalną, "widzianą" tylko z wewnątrz funkcji, gdzie została zadeklarowana. Jak chcesz zmieniać jej wartość,...
OJ kolego ! Podstawy jezyka C sie klaniaja. W przypdku deklaracji zmiennej: uint16_t [480] kompilator wyrzuci blad bo nie wie o jaka zmienna chodzi. Poprawna deklaracja zmiennej tablicowej wyglada tak: typ zmiennej nazwa zmiennej ilosc elementow, wiec poprawny zapis to uint8_t hexek[480] Moze przyczyna jest brak pamieci stosu. Dla uint8_t hexek[480]...
Tak jakbym coś z przyciskiem chrzanił, a próbuje na wszelkie sposoby. A jak według Ciebie to działa? Na początku funkcji loop ustawiasz wartości początkowe wszystkich zmiennych, potem niektóre zmieniasz zależnie od warunków ale jak funkcja loop() jest wywoływana ponownie to zmienne są od nowa inicjowane (w większości zerowane). Te zmienne które musza...
Sprobuj ustawic model pamieci small, a przy deklaracji zmiennych pisac np. xdata float zmienna, lub pdata, ewentualnie idata, moze to pomoze. P.S. Duzy szacunek dla kobiet programujacych mikrokontrolery!!! 8)
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ą ;)
... Widzę że ARM umieszcza to na stosie, ciekawe co będzie jak będę miał 100 funkcji. Da się w tej sytuacji umieścić to int (*pxFun)(int*, int*, int*)=(void *)0x101584; na stałe we flashu? ... Da się w C "powiedzieć" kompilatorowi żeby umieścił funkcję pod określonym adresem? pxFun to normalna zmienna. Tak więc sposób jej umieszczenia zależy od sposobu...
Program ma sterowac silnikiem krokowym: uC->ULN2003->unipolarny: Utworzylem tablice zmiennych: ..typ zmiennej?.. kroki[4]={0x09,0x03,0x06,0x0C}; chcialbym wywolac element powyzszej tablicy i wpisac go do zmiennej "w" tak aby pozostala w postaci liczby szesnastkowej.. i nie wiem czy to jest mozliwe? probuje to zrobic w ten sposob: kroki[n]=w; PORTB=w;...
A patrzyłeś w zdeasmowany kod?:) Twoja pętla nic nie robiła więc ją pominął:P ;] dodaj volatile przed deklaracją zmiennej / wyłącz optymalizację:>
cały kod zajmuje straszenie dużo... jak dam deklarację *bufor wewnątrz przerywania to program działa (wniosek -> jak zmienna jest globalna to ma problem z dostępem do niej)... stąd moje pytanie co z tym fantem zrobić... wiem że deklaracja w stylu: volatile unsigned char *bufor; odpada
Wydaje mi się że to zależy od kompilatora. Taka deklaracja nie zeruje zmiennej, czy kompilator ją niejawnie wyzeruje to zależy od niego. Nawet jeżeli ja zeruje to lepiej zawsze napisać; volatile uint8_t accel_decel_counter = 0; Wtedy program jest jaśniejszy, a dobry kompilator i tak to przypisanie zrobi tylko raz. Standard języka C tego nie definiuje...
Dzięki. Zadziałało. Błąd był w deklaracji funkcji. Parametr nHeight deklarowany był jako Integer. Po zmianie na Long ruszyło. Ciekawostką jest, że przy deklaracji jako Integer ruszało też przy użyciu w wywołaniu (1 + zmienna) w parametrze. Na Long wystarczy sama zmienna. Pozostałych parametrów ruszać nie muszę bo działają z moimi deklaracjami. Zastanawia...
Mam taki oto programik: [syntax=c]#include <iostream> using namespace std; int zmiennaGLOB; int main() { int zmiennaLOK; cout << "Zmienna globalna: " << zmiennaGLOB << endl; cout << "Zmienna lokalna: " << zmiennaLOK << endl; return 0; }[/syntax] zmiennaGLOB zwraca 0 zmiennaLOK zwraca śmieci Z czego to wynika?...
Jeśli ja podam, to będzie znowu "gdzieś wyczytana informacja" i błędy mogą się mnożyć. Jak wyszukasz, i sprawdzisz to zapamiętasz co i jak na całe życie. Poza tym prośba o skompilowanie własnego kodu i zobaczenie efektów programu chyba aż tak trudna nie jest. A dla zaspokojenia Twojej ciekawości u mnie wychodzi 134518174 bez static (gcc, linux) Albert...
w deklaracji zmiennej podziel: zamiast "temp_ciepla2"/10 zrob "temp_ciepla2"/10.0 pomaga :) pozdrawiam
Oczywiście powinieneś dać long zamiast int ale to tylko jedna rzecz. Pozatym 0xffffffff nie zmieści sie do longa. Zmieści się za to do unsigned longa. A teraz dlaczego nie działa: wskaźnik musisz zadeklarować tak jak zmienna na która ma wskazywać. W Code vision są rozdzielone przestrznie adresowe i musisz dodać do deklaracji wskaźnika flash jeżeli ma...
OK, problem został rozwiązany, wystarczyło dodać do deklaracji bufora "buforAdc A gdzie jest ten fragment?
Nie znam bascoma, ale zapewne twoja zmienna jest liczbą 8-bitową, zatem musisz przy deklaracji zadeklarować zmienną mogącą pomieścić większą liczbę.
...Deklarację robiłem na różne sposoby np. volatile unsigned char znacznik; i cóż... efekt jest taki, że ewentualna modyfikacja wartości tej zmiennej jest widoczna tylko w danym segmencie kodu... Wytłumaczenie jest proste - źle zbudowałeś projekt :( Przykład: system.h //... volatile int var; //... uart.h //... #include "system.h" //... main.c...
No niby zadziałało ... ale ja mam potrzebę na tablicę o takich wymiarach... Jak mam to rozwiązać? Kilka mniejszych tablic? Ale musiał bym mieć pewność, że w RAM będą dokładnie po sobie ... AT91SAM7S256 Dla pewności spytam czy INT to 32b zmienna?
Taki zapis ( definicja )powinien być w jednym pliku C (zmienna globalna) volatile unsigned char stan = CZEKAJ; w pliku headera (chyba sensor.h) tylko deklaracja extern volatile unsigned char stan; w żadnym wypadku nie można dawać w headerze (pliku *.h) includowanym do wielu plików *.c definicji zmiennej statycznej static unsigned char stan = CZEKAJ;...
Nie bardzo rozumiem. na pierwszym miejscu mamy zadeklarować gdzie ma być zapisana czyli adres, a na drugim zmienna. Zacznij od pokazania nam definicji/deklaracji funkcji eeprom_write_float. Bez tego - to sobie tylko gdybamy.
deklaracje wyglądają tak #define EEPROM_ADDRESS_TIMER 100 #define EEPROM_INDEX_DAY_MINUTE_START 2 zmienna day przyjmuje wartość 0-7 ,ale nie można jej umieścić w deklaracji za pomocą preprocesora. zależy mi aby zdeklarować początkowe wartości indeksów dla komórek w eeprom ,w funkcji w której dokonuje pobrania danych ,dodawanie zmiennej day umieszczę...
Ok, dziękuję za objaśnienei! :) A czemu wyrzuca mnie z Excela kiedy odwołuję się do makra Nowy_skoroszyt_1(), które samodzielnie działa poprawnie? Set my = Workbooks("Truck.xls").Sheets("Aero") wyrzuca mi błąd Run-time error "13": Type mismatch :( Błąd typu zmiennych - niezgodność typów. Duże pole do gdybania, bez "materiału porównawczego". Może to...
Nie wiem jak jest z mikroprockami, ale czy deklaracja zmiennej LICZ_PRZER nie powinna wygladać tak: static uint8_t LICZ_PRZER=0; Bo na PC jak sie programuje sie w C++ i przy deklaracji zmiennej nie ma przypisanej odrazu liczby, to ta zmienna może przyjmować dowolną wartość :|
C jest językiem niższego poziomu niż Pascal. Read i ReadLn w Pascalu to specyficzne konstrukcje językowe, a scanf w C to najzwyklejsza funkcja z biblioteki. C jest językiem tego samego poziomu co Pascal, a funkcje scanfs i read/readln są odpowiednikami w tych językach. A to że trochę inaczej działają to już problem programisty. Składnia języka pascal...
Tak, ale trzeba kilka zabiegów aby sobie zrobić przestrzeń NOINIT. Wszystko co jest poza .bss i .data nie będzie ruszone nawet jak program ruszy normalnie. Ale bezpośrednio, wygodnie, do tych obszarów nie da się dostać, przez prostą deklarację int zmienna; Problem rozwiązywałem "podkradając" kompilatorowi trochę ram na początku. W kodzie tworzyłem...
A wyciągnij deklaracje zmiennych (przynajmniej zmiennej b) przed pętlę do{}
Sprawdziłem to co zaproponowałeś i wyniki są następujące. Wykomentowałem linijkę, w której flaga jest resetowana (flag=0) w procedurze przerwania od timera. Czyli jawnie w kodzie nie ma żadnego miejsca gdzie flaga byłaby zerowana. Efekt - bez zmian. Na wyjściu z przerwania od EXTI widzę 1. Na wejściu przerwania timera - 0. Co więcej, przy kolejnym wejściu...
w Public nie moze byc zmienna sciezka(ActiveWorkbook.Path & ), tylko konstanty lub deklaracje funkcje Sprobuj tak[syntax=vb] Public Function sciezka() as String sciezka= ActiveWorkbook.Path & "\Dokumenty\Pracownik\" & NazwiskoImie & "\" & NazwiskoImie End Function[/syntax] Lepiej umieścić kod funkcji do modułu, a nie w arkuszu kodu
Szczerze, trochę od podstaw. Struktura to nie obiekt. Obiekt to coś co zawiera kod i dane w "jednym". Struktura to tylko trochę danych jak każda inna zmienna, tyko nieco większa. Struktur się nie tworzy jawnie, jak obiekty. Struktury są tworzone w momencie ich deklaracji automatycznie, tak jak każda zmienna. Proszę, pomyśl nad zrozumieniem obiektowego...
taki sposób deklaracji jest jak najbardziej poprawny, jest nawet pod pewnymi względami lepszy, bo nie deklarujesz adresu każdej zmienej z osobna, więc pomiędzy już zadeklarowane zmienne możesz "wcisnąć" następne bez potrzeby zmiany reszty. W pamięci rozkłada się to tak, że DSEG AT 01H ustawia Ci licznik adresu zmiennych (a właściwie to symboli, bo widzę,...
Witam. Kompilator nie wywala mi tej linii z deklaracją jako błąd. tylko 3 inne , dale w kodzie. Nie będę załączał całości kodu bo nie ma to sensu, zresztą trochę tego jest (atmega 16) dodam tylko ze program działa prawidłowo do momentu dopisania w deklaracji słowa ERAM. Oto te linie Incr zmienna - bład 15 (inkrementuje użytkownik za pomocą klawisza...
Tak na oko masz o jedno const za mało w deklaracji language. Ma to być zmienny wskaźnik na stały wskaźnik na stałą. A u Ciebie jest zmienny wskaźnik na zmienny wskaźnik na stałą.
1) Dim objResult 2) Set objShell = WScript.CreateObject("WScript.Shell") 3) i = 0 4) Do While i = 0 5) objResult = objShell.sendkeys("{NUMLOCK}{NUMLOCK}") 6) Wscript.Sleep (6000) 7) Loop 1) Deklaracja zmiennej, przechowującej wynik polecenia sendkeys. 2) Inicjalizacja obiektu. 3) Przypisanie zmiennej i wartości 0 4) Warunek - "Rób dopóki i=0" - ta pętla...
polecenie deklaracja zmienna deklaracja zmienna globalny deklaracja zmienna bascom
rejestrator pobór energia nadawać 433mhz rozdzielenie sygnału dekodera vectra
Schemat zasilacza Philips DYS602-210309W Jak zmniejszyć prędkość w skuterze elektrycznym?