Pliki nagłówkowe zazwyczaj tworzy się, aby umożliwić współdzielenie - typów danych, funkcji, czy zmiennych globalnych - pomiędzy oddzielnie kompilowanymi plikami źródłowymi. Z tego powodu deklarowanie zmiennych globalnych czy funkcji w plikach nagłówkowych jako static z reguły nie ma sensu, bo chodzi nam o to, aby te zmienne były współdzielone, czyli...
Kompilator sam zadba o to, żeby w pliku wynikowym nie znalazły się nieużywane zmienne, nie trzeba nic kombinować poza upewnieniem się, że jest włączona optymalizacja. Nieprawda. Po pierwsze nie kompilator o to zadba, tylko linker (kompilator nie wie, czy inne pliki nie używają danej zmiennej, funkcji globalnej). Poza tym zadba tylko pod tym warunkiem,...
Na symulacji program zachowuje się poprawnie. Po wgraniu do sterownika nie reagują żadne zmienne zarówno globalne jak i lokalne. Przy programowaniu mam zaznaczone takie opcje ( w zasadzie wszystkie ): Przy wykonywaniu programu program ani ich nie ustawia ani nie zeruje. Są jakby niewidoczne.
Witam, czy jest możliwość podglądu zmiennych, tablic globalnych w zakładce "(x)=Variables" w każdym momencie debugowania? Chodzi mi o to że np. gdy w jakiejś funkcji ustawię Breakpoint i mam w tej funkcji wskaźnik na tablicę to zakładce "(x)=Variables" widzę tylko adres tego wskaźnika, a chciałbym podejrzeć całą tablicę. Czy jest taka możliwość. Pozdr
Witam Mam pytanie czy zmienne w RAMie po resecie z WDT pozostaja bez zmian. Microchip pisze: Reset - WDT Reset Effects l Effect of a Watchdog Timer reset l Starts execution at the reset vector l RAM locations unchanged l Some SFRs are initialized l POR, BOR in PCON unchanged l TO in STATUS cleared l PD in STATUS unchanged Mam wiele zmiennych globalnych...
Witam wszystkich! Mam taki oto problem. Łączę sie z at89c51/52 poprzez rs232. posyłam w kodzie ascii na ośmiu bitach cyfry. W programi odczytuje je i zapisuje do zmiennej. Niestety wartości zmiennych zmieniają się w kilka linijek po przypisaniu im tych wartości. Dokładniej mówiąc zmienne są zerowane. Siedze nad tym już długo i sam niczego już nie wymyśle....
Problemem nie były akurat jednostki kompilacji ale po prostu przekazywanie przez wartość - twoja funkcja zmieniała lokalne kopie, a nie zmienne globalne. Jeśli zamierzasz mieć więcej regulatorów to rozwiązanie jest z wskaźnikami jest w porządku, jeśli masz tylko jeden, prościej będzie w 1 pliku zdefiniować zmienne signed short K_P=0, K_I=0, K_D=0; a...
struktura to struktura. Zmienna strukturowa to zmienna. Chyba pomyliłeś pojęcia. Strukturę definiujesz globalnie i możesz dzięki temu korzystać z niej jako rodzaju parametrów funkcji (m.in.). To, jaka jest wartość danego parametru to inna bajka. Jeśli chcesz inicjować jakąś zmienną w funkcji, a następnie w innej ją wykorzystać - wykorzystaj referencje...
Witam Programuje w różnych środowiskach od kilku lat ale czegoś takiego jeszcze nie widziałem. Zacząłem dziś tworzyć aplikacje na arma STM32 w środowisku uVision. Stworzyłem nowy plik nagłówkowy w którym chce zadeklarować sobie zmienną globalną. Zastosowałem dyrektywy #ifndef __MAIN_H #define __MAIN_H #endif, wewnątrz zadeklarowałem odpowiednią zmienną,...
Wykorzystaj zmienną w klasie, gdzie umieściłeś raport, względnie zmienną globalną.
W małych programach często wszystko mam w jednym OB i do zmiennych używam globalnych DB. Chciałem program przerobić żeby korzystał ze zmiennych lokalnych ale skoro w TIA do OB skojarzone są tylko typu tymczasowego a nie statyczne to nie ma tematu :) P.S. W CodeSYS się da. Dodano po 2 P.S. 2 Myślałem że kolejne wywołanie FB i kolejny cykl programu w...
No przecież to robisz. [syntax=cpp] HWND hMapi = CreateWindowEx(0, "STATIC",NULL, WS_CHILD | WS_VISIBLE | SS_LEFT, 5, 80, 150, 200, hwnd, NULL, NULL, NULL);[/syntax]To nic innego jak zdefiniowanie zmiennej hMapi i przypisanie jej wartości wyniku funkcji. Możesz ją zadeklarować jako globalną (wtedy definicja i deklaracja muszą być oddzielone)
Zmienna static to podobnie jak zmienna globalna z tą różnicą, że widziana tylko w jednym module. Czyli piszesz procedure i definiujesz ją jako static. Po wyjściu i ponownym wejściu do procedury posiada ona wartość taką, z jaką ją zostawiłeś przy wychodzeniu. W odróżnieniu od zmiennej globalnej możesz używać nazwy zmiennej takiej samej w różnych procedurach...
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ść,...
Dość ciekawy problem. Procedura Szukaj wyniku jest tu nieprzydatna, bo ona bada tylko funkcje jednej zmiennej. Wydawałoby się, że można uzyskać wynik za pomocą nakładki Solver, która pozwala na rozwiązywanie tego typu problemów z wiekszą liczbą zmiennych. Ale Solver działa trochę na zasadzie "czarnej skrzynki" (przynajmniej dla mnie) i nie zawsze chce...
Jak mogą być <0, skoro zmienną jest liczba bez znaku? I jeszcze do tego żonglowanie między bcd na tej samej zmiennej i do tego globalnej... Stąd właśnie się 95 (czy może raczej 85?) bierze, bo 0 - 1 = 255, a 255 na bcd to 0010 0101 0101, a że to przekracza zakres zmiennej ponownie to zostaje z tego 55hex, czyli 85 dec. Dziekuje! To było to. Ponizej...
(at)jta Wczytując się w jego program wydaje mi się że wiem o co mu chodzi. Chce uruchomić okienko w którym można wpisać frazę, następnie je zamknąć. Ta wpisana fraza powinna znaleźć się w zmiennej "Ztest". Wynika to z linii "Ztest=A.on_key_release(self.i) ?????", która jest nieprawidłowa i w nieodpowiednim miejscu. Nieprawidłowa bo "self.i" nie jest...
Witam, problem polega na tym że utworzyłem trzy zmienne globalne typu const uint8_t i kompilator przypisuje dwóm pierwszym ten sam adres 0x80030D4 . Trzecia zmienna już miała inny adres. Utworzyłem więc dwie kolejne zmienne do testów aby sprawdzić jaki otrzymają adres: const uint8_t ZMIENNA_TEST1=3; uint8_t zmiennaTest2=10; lecz niestety debugger ich...
Witam. Nie potrafiłem nigdzie znaleźć takiego rozwiązania problemu jakiego szukam. A szukałem .. Może nie potrafię szukać. [?] Nie ważne. Proszę o pomoc, odnośnie: Pracuję przy semestralnym projekcie bazy danych. Jest to baza danych sklepu. Mam już zrobiony kod na logowanie, rejestracje itp. ale za nic nie potrafię wymyślić i znaleźć jak zrobić następującą...
A więc do zapamietania: BYVAL w deklaracji podajemy tylko 1 raz Nie. :) byval , a druga jako byref . Ty masz inny błąd, nazwy przekazywanych zmiennych w deklaracji funkcji są takie same jak nazwy zmiennych globalnych. I tak naprawdę w funkcji operujesz na zmiennych globalnych, a nie na zmiennych przekazanych przy wywołaniu funkcji. Zrób sobie test,...
Witam Mam mały problem z zakresem ważności zmiennych w przerwaniach. Nie mogę zmienić wartości OCR0A za pomocą zmiennej a; Załączam kod, zawiera się w kilku plikach. Błędów nie zgłasza. Przerwanie reaguje na przycisk w praktyce, jednak nie zmienia wartości 'freq' ISR(INT0_vect) { _delay_ms(100); freq=30; } ale nie dokonuje zmiany częstotliwości za pomocą...
W programie poniżej dekrementuję zmienną globalną(volatile) "time" w przerwaniu. Problem tkwi w tym, że dekrementacja działa prawidłowo tylko gdy zainicjuję zmienną globalną "time" początkową wartością, natomiast ja chcę podawać wartość zmiennej do dekrementacji w głównej pętli while(1) tak jak to jest w kodzie poniżej (który oczywiście nie działa)....
Jeśli chodzi o zmienną to musisz dodać do okna głównego zmienną globalną a w nowym oknie też musisz dodać zmienną globalną tylko że przed zmienna musisz dodać słowo kluczowe extern: [syntax=cpp]//okno glowne int twojaZmienna=0; //nowe okno extern int twojaZmienna; //nie można inicjalizować [/syntax]
Mój problem jest następujący. Piszę funkcję w FB powiedzmy FB1, ktorą będę chciał wywołać kilkakrotnie w innym fb, np FB2. Dzięki temu zmienne dla wszystkich wywołań FB1 będą w IDB FB2. Funkcja FB1 ma za zadanie działać jak shift register, czyli np brać 10 słów DINT i przesuwać je o jedno wyżej z każdym taktem zegara. Problem w tym, że jak chciałem...
Słowo kluczowe extern nie oznacza ze coś będzie widoczne w innym pliku, tylko ze pamięć na to będzie zadeklarowana w innym pliku. W pliku .h powinieneś zdefiniować strukturę, natomiast w pliku .c powinieneś dołączyć plik .h i zadeklarować pamięć na nią plik.h ////////////////////////////////////////... #ifndef plik_h #define plik_h /* tutaj wstawiasz...
Ja mam nadzieję, że problem leży po mojej stronie. Bo inaczej sytuacja jest niewesoła a termin trzyma... Oto kod: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 16000000UL // 16 MHz #include <util/delay.h> #define DATASIZE 16 #define MICROSTEPS 256 //to musi być potęga 2-ki volatile unsigned int microstep, bytecount,...
Witam, Spotkałem się z bardzo dziwną sytuacją. Mianowicie, podczas deklaracji globalnej zmiennej tablicowej program nie działa. [syntax=c] char * Tablica[2]; int main( void) { } [/syntax] Jeśli w programie występuję deklaracja tak jak powyżej program zamiast wskoczyć do funkcji main() przerywany jest i obsługuje go przerwanie: NMI_Handler Jaki może...
(at)R-MIK, krzysssztof - zarówno Keil jak i SDCC dla C51 mają określone standardy umiejscowienia określonych danych w określonych rodzajach pamięci. Model pamięci SMALL oznacza, że dane, stos itp. będą trzymane w pierwszych 128B pamięci, czyli także tam gdzie 4 zestawy rejestrów oraz SFR. I trzeba się z tym liczyć nawet jeśli pamięć "zewnętrzna" jest...
Hej... Mam pytanie z programowania, C, już głupieję... Chcę zrobić globalną tablicę z danymi bajtowymi. Każdy wiersz ma kilka pól oraz tablicę bajtową, różnej długości, od 4 bajtow do np. 100kB (teoretycznie). Musi być to zatem wskaźnik na dane, zeby kazda tablica bajtowa miala inna dlugosc. Próbowałem zrobić tablicę wskaźników i przydzielać pamięć...
volatile mogę usunąć i dalej będzie kod działał, bo tak miałem. Program działa dokładnie tak samo. Ja Ci radzę, dopisz to volatile bo zaraz będzie kolejny post, że program nie widzi zmian wartości zmiennych. Każda zmienna globalna zmieniana w przerwaniu powinna być volatile, chyba, że jesteś pewien, że wykorzystujesz ją tylko w przerwaniu (a wtedy...
Hejka, robię właśnie przesiadkę projektu z kompilatora IAR'a do GCC'a i mam problem z przeniesieniem niektórych ustawień, konkretniej chodzi o nie wycinanie przez linker konkretnych, nieużywanych zmiennych globalnych wygenerowanych przez zewnętrzne narzędzie, zawierających informacje np. o dacie buildu, checksumie itp. które są potem w przypadku reklamacji...
Witam, Piszę program w środowisku "Ride '51" - główny program w asemblerze, zaś skomplikowane (dla mnie) matematyczne funkcje wykorzystuje z języka C. I oto przykład takiej funckji: unsigned int oblicz (unsigned int fwd, unsigned int rev) { float x = 100 * (float)rev / (float)fwd; return ((1+x)/(1-x));.....
Kod programu poniżej. Mam nadziej ze ktoś mi doradzi jak go poprawić problem jest miaowicie taki ze zmienna jest zliczana w przerwaniu i w zależności od zmienne jest uruchamiany odpowiedni „program”. Jak na początku programu zadeklaruję zmienna o jakiejś wartości to wchodzi w odpowiednia dla te wartości pętlę jeśli natomiast za pomocą przerwania...
Gothye:program na tym poziomie nie może "usunąc zmiennych z ramu", bo nie masz żadnego modułu kontrolującego co jest w pamięci tak jak mają to prawdziwe systemy operacyjne. Najprostsze rozwiązanie (pseudokod w c...): 1.deklarujesz zmienną globalną jako tablice np. unsigned char zmienna[50]; 2.przed zrobieniem obliczeń wczytujesz do tej tablicy aktualnie...
Napotkałem dziwny problem. Spróbuję to dość jasno opisać. W procedurze uruchamiam timer0. Następnie po uruchomieniu program wpada w pętle : flaga=1; timer0_on; while(flaga) { } zmienna flaga zadeklarowana jako globalna (na samym szczycie kodu po define'ach) zerowana jest w procedurze obsługi przerwania timer0. Oczywiscie po tym program...
Po powrocie z urlopu uruchomiłem przetwornik. Program na razie w okrojonej wersji aby przetestować sam ADC i wyświetlanie na trzech LEDach siedmiosegmentowych. Przetwornik w zasadzie pracuje i pokazuje prawidłową wartość, ale dwie kwestie mnie niepokoją i prosił bym o pomoc w ich wyjaśnieniu. Otóż, pierwsza sprawa to wahania napięcia. Podczas pracy...
Ba, na chłopski rozum... Ale spróbujmy, możliwie krótko: Stałe to takie wielkości (liczby) zadeklarowane w programie, które nie będą zmieniać swej wartości przez cały czas działania programu. Dla przykładu może to być powiedzmy Pi = 3,14 lub jakaś inna własna wielkość. Zmienne lokalne - to takie zmienne, które wykorzystywane są tylko na czas realizacji...
Witam! Skonstruowałem sobie urządzenie, które ma służyć do optymalnego ustawienia sterownika kotła. Mierzy temperatury na zewnątrz i wewnątrz, liczy ich średnie, minima i maksima, jest podłączone do sterownika kotła pod przekaźnik (przez transoptor) i zlicza ilość załączeń podajnika w różnych trybach pracy i sumaryczny czas. Od dłuższego czasu walczę...
To wrzuć te dwie struktury i pare zwykłych zmiennych do jednej większej struktury. Żadko widuję potrzebę dbania o to, aby kilka zmiennych (w domyśle globalnych) musiało być z konieczności blisko siebie (w sensie adresów). Wyciągnięcie ich do większej struktury może być początkiem pozbycia się singletonu. Zazwyczaj struktury do porządkowania zmiennych...
Kod: linijka 9: built-in function 'index' declared as non-function linijka 14: function declaration isn't a prototype linijka 49 i 53: array subscript is above array bounds
Dziękuję za odpowiedź. Niestety zbyt słabo rozumiem zasadę działania regulatora PID, żeby móc tam cokolwiek zmienić:/ Mam jeszcze jedno pytanie. Muszę jeszcze go nastroić. Czytałem już w Internecie jak się stroi regulatory ale że tak się wyrażę tylko na czuja. Czytałem też o jakichś metodach Zieglera Nicholsa itp ale są trochę zbyt skomplikowane:P Tylko,...
To jest SUB bez parametrów. No cóż, zastosowałem zmienne globalne... Ale ciekawe, z czego wynika to ograniczenie, nigdzie nie udało mi się znaleźć żadnej informacji na ten temat. Podobno lokalne są trzymane w $frame, no więc powinno się dać dużo więcej zmiennych lokalnych zrobić, a tu taki zonk...
Witam Popełniłem (z pomocą google) program który w zamyśle ma pobierać dane wejściowe (konkretnie czasy włączenia/wyłączenia przekaźnika) z karty SD z pliku txt o poniższej treści. exINT-2=0:23:59:15:111 exINToff-2=0:0:0:12:222 exINT-3=0:23:59:25:333 exINToff-3=0:0:0:3:444 exINT-8=13:23:33:43:53 exINToff-8=14:24:34:44:54 W pętli setup wydaje się że...
Marico: wszystkie zmienne globalne w C są również statyczne. Atrybut static użyty w deklaracji na poziomie zewnętrznym oznacza zmienną statyczną prywatną dla danego modułu, brak tego atrybutu - zmienną statyczną globalną. Nazwa tego atrybutu - to zaszłość. Powinien on się nazywać private. Zmienna lub funkcja używana w jednym tylko module powinna być...
Gdyby w tym był problem - głównym sposobem znalezienia hazardu jest analiza wszystkich zmiennych używanych (tutaj) w przerwaniach. Każda która jest zapisywana z przerwania i z kodu głównego, nie wiadomo co "zwycięży". Dodatkowo każda operacja "odczyt i zapis" (zależnie od rozwinięcia nawet operator ++) może dać efekt nieokreślony (jeśli z drugiej flanki...
Szanowni Państwo, Mam pewien problem z dekodowaniem zmiennych w ramce usart po string hex. Procesor Attiny1614 połączony z modułem bluetooth po TTL. Zaznaczam że ze zwykłymi stringami nie mam problemu tylko jak mam przekonwertować z string hex na int i odesłać. Procek wysyła proste rozkazy np: włącz, wyłącz, włącz na określoną moc, włącz na określoną...
Czy wystarczy utworzyć sekcję w taki sposób, powtarzając ten wpis dla każdej sekcji, czyli d1sramdata, d2sramdata, d3sramdata? Nie. Albo inaczej. Sekcje zostaną utworzone i jeśli przypiszesz do nich jakieś zmienne, to one tam wylądują, ale aby dane zostały zainicjalizowane domyślnymi wartościami (a'la sekcja .data) lub wyzerowane (a'la sekcja .bss),...
Pierwszy przykład to zmienna globalna alokowana w pamięci danych. Drugi to zmienna lokalna umieszczona na stosie. Z logicznego punktu widzenia zmienna i jest widoczna tylko w pętli, więc jest usuwana po wyjściu z niej programu. W rzeczywistości kompilator to optymalizuje i fizycznie ta zmienna nie jest usuwana z pamięci z każdym przebiegiem pętli. Możesz...
krzychoo_soft -> W aplikacji mam kilka formularzy. Na formularzu głównym jest trzon aplikacji, natomiast na formularzach tworzonych jako okienka dialogowe modalne umieszczam funkcje zapisu wartości do zmiennych globalnych , które mam zdefiniowane na formularzu głównym . dokładniej o to mi chodziło. Jeśli kod Form2 modyfikuje Edit1 znajdujący sie na...
Co oznacz "static" przy dekalracji zmiennych np. static unsigned char zmienna=0; Jest cos takeigo np: #include <sfr51.h> void main () { //ustawienie parametrow przerwania od Timera 0 TMOD=0x01; TR0=1; ET0=1; IP=0x02; //najwyzszy priorytet dla przerwania od Timer'a 0 EA=1;//globalne odblokowanie systemu przerwan P0=0x00; P1=0x00; P2=0x00;...
Od niedawna zajmuje się programowaniem avr-ków w C (Linux + avr-gcc) więc jeżeli zadam trywialne pytanie to z góry przepraszam. Jednocześnie jednak mam nadzieje że otrzymam od bardziej doświadczonych kolegów odpowiedz :o . Program w C podzieliłem sobie na kawałki (moduły) i spreparowałem odpowiedniego 'makefila'. W jednym z modułów mam procedury obsługi...
Witam, Czy może mi ktoś w przystępny sposób wytłumaczyć kiedy zmienna powinna mieć typ volatile a kiedy nie musi?? Szukałem na google, czytałem kilka definicji tej zmiennej, ale dalej nie wiem kiedy ją używać (w programowaniu mikrokontrolerów) a kiedy nie. Wiem (tzn. wyczytałem :P) że jeżeli zmienna globalna ma być zmieniana w przerwaniach, to wtedy...
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;...
Witam, Właśnie wpadł mi w ręce wymieniony w tytule zestaw. Razem z nim mam GX Developera i E-Designera. Zacząłem się tym bawić (robię sobie jaki tam prosty licznik, który w założeniu ma liczyć impulsy) i natknąłem się na problem ze zmiennymi. Gdy deklaruje zmienna globalna, domyślnie ma ona wartość 0 (zero). W programie zwiększam ją i wszystko gra -...
Wszystkie przykłady sa złe ponieważ zmienne są deklarowane jako zmienne automatyczne w body funkcji. Jeśli taka funkcja zakończy działanie, jej zmienne z natury ulegają unicestwieniu. Tak więc nie trafimy zwróconym wskażnikiem do zawartości zmiennej. Inaczej mówiąc po co nam zwrócony wskażnik skoro może on być już nieaktualny. Jesli taki program zadziała...
Witam! Proszę o podpowiedź dlaczego w kodzie: unsigned int i, imax, (...) int obsluga_przerwania1() { AT91C_BASE_TC1->TC_SR; i++; if (i > imax) { i = 0; *AT91C_TC1_CCR = 0x2; } AT91C_BASE_AIC->AIC_EOICR = 0x0; } int main() { [konfiguracja tc i aic] while(1) { if (warunek1)...
Witam, mam taki problem: Na uC mam program z zadeklarowaną zmienną globalną np. " int i; ". Podczas działania uC, komunikuję sie z nim przy pomocy komputera i RS232 i modyfikuje wartość zmiennej " i ". Jak zrobić, aby po wyłączeniu zasilania uC (w zasadzie zasilania całego urządzenia) i powtórnym włączeniu, wartość naszej zmiennej " i " pozostała bez...
Witam Mam taką funkcję: void FREQREG( int F_output) { int x=0; int *wsk_1; int zapisanie_MSB=0; //jeśli ta zmienne jest 1 to oznacza, że rejestr Freq MSB jest juz zapisany wsk_1=& Freq[3]; float y= F_output*10.32444; //wzór z datascheet dla MCLK=26000000 x=(int)y; if(x>16383) { int a=x/16384; *wsk_1=0x40;...
Witam i jeszcze raz dzięki. Postaram się to rozszyfrować. Dotąd nie zetknąłem się z tymi nagłówkami. Udało mi się to zrobić za pomocą masek wpisywanych do zmiennych globalnych. Funkcja posługuje się aktualną maską do operowania na P1. I wszystko śmiga. Ciekawe czy da się funkcję przekonać do operowania na innym porcie w trakcie pracy programu. Czy P1...
akurat Javy nie tykałem, ale powinno być tu, jak w wielu językach, coś takiego jak zmienna globalna, publiczna, statyczna. itd. Poszukaj w rodzajach dostępnych typów zmiennych. O dziedziczeniu nie wspomnę... Sorry, że tak ogólnie, ale ja myślę jeszcze funkcjami i procedurami, nie obiektami :-)
A czasem takie niezdefiniowane mogą przyjmować wartość nieokreśloną NIL, nie wiem jak w C... dlatego dobra szkoła jednak każe przypisywać te zera. Nie mogą jeśli są to zmienne statyczne albo globalne. Standard wymaga, aby były zainicjalizowane wartością 0 i zawsze tak jest, chyba że wiesz jak to pominąć. Pięć zabezpieczeń nie jest też żadną dobrą szkołą...
wykorzystalem pomysl z setjmp i longjmp :)... narazie dziala :)... jesli pojawia sie problemy to bede dalej kombinowal :)... mam cos takiego, kod bardzo symboliczny ;)... main() { //Inicjalizacja setjmp(env); sei(); switch(...) { case 0: Program0();break; case 1: Program1();break; case...
Witam serdecznie, jakiś czas temu zacząłem moją zabawę z stm32. Po kilku tygodniach walki z darmowym oprogramowaniem (Eclipse + GCC, ograniczony Keil itd), zdecydowałem się na TrueStudio w wersji light. Mam jednak problem z tym oprogramowaniem podczas debugowania. Jaki to projekt? - projekt ma za zadanie odczytać dane z modułu RFID, następnie ma rozpoznać...
A czy zmienna sstatus, jest w Twoim programie zadeklarowana jako zmienna globalna? Aby móc skomunikować program z funkcjami obsługi przerwań (które nie mogą zwracać wartości) dane wymienia się poprzez zmienne globalne, czyli takie które będą widoczne zarówno z poziomu funkcji obsługi przerwania, jak i z poziomu funkcji operujących w samym programie....
Wszystkie inicjalizacje danych z sekcji IN_RAMII muszą się wtedy znajdowac w plikach ****in_ram2.c. Czyli generalnie sprowadza się to do tego że trzeba ręcznie wyłączyć pliki (zmienne które są inicjalizowane w tych plikach) w skrypcie linkera oraz ręcznie wskazać linkerowi że pliki te będą inicjalizowane w innym obszarze RAM. Dzisiaj wieczorkiem sprawdzę...
Witam Panie Kubo. Czyli innej opcji nie ma na przypisanie wartości? Pan tak przypisuje w swoich programach, i wszystko działa tak jak należy? Bo wie Pan ja np. jak potrzebowałem przypisać do zmiennej typu string scieżkę do podprogramu NC, blokiem MOVE to dając symulacje miałem pokazane klikając na bloczek, że wartość jest wpisana do zmiennej : 'C:\TwinCAT\CNC\DyszaC.NC'....
Masz jakiś moduł, np od i2c - plik i2c.c zawiera funkcje i zmienne, plik i2c.h zawiera prototypy funkcji i zmienne globalne z "extern". Jeśli nie masz modułów w formie .c + .h to masz jeszcze więcej problemów. Dlaczego uważasz że dużo zmiennych gloalnych to dużo problemów ? To jest znana prawda. Nad zmiennymi globalnymi ciężko zapanować, bo przecież...
Przecież jak zadeklarujesz sobie zmienną pomiar jako zmienną globalną ulotną (volatile), to zawsze będziesz miał jej aktualną wartość wszędzie i nie musisz jej przecież nigdzie wysyłać z przerwania (zresztą się nie da).
Ja tylko przypomnę o czym autor pisał na początku: Ale wydaje mi się że gdy będe w kazdym pliku robił Stałe stale = new Stale() to nowa instancja będzie w sobie zawierała zmienną ModułyAktywne która zawsze będzie == 1, a nie tak jak została zmianiona w np innym pliku. Jeśli dobrze rozumiem, to chcesz modyfikować te zmienne w jednym pliku (formie), i...
Witam, Chciałbym prosić kolegów o wyjaśnienie zależności pomiędzy zmiennymi wykorzystywanymi w funkcjach STEP7. Dla FB tworzymy DB w których przechowywane są zmienne w czasie aktywnej funkcji. Natomiast co się dzieje ze zmiennymi FC ? Czy deklarując zmienne wejściowe i wyjściowe należy traktować ich adres jako wartość globalną ? Pytam ponieważ mam problem...
Witam, Mam problem z poniższym programem. Timer0 odlicza 1ms i generuje przerwanie. W programie obsługi przerwania zmienna "znak" przyjmuje wartość znak=15, a chyba powinna przyjmować wartość znak=34. Dlaczego program nie uwzględnia mi przypisania znak=34, które znajduje się w pętli for? Pozdrawiam Listing programu: [syntax=c].................................
Witam, Pozwolę sobie opisać całą historię, może ktoś znajdzie sposób na lepsze zorganizowanie mojego projektu. Na lekcję programowania mamy stworzyć w Visual C++ 2010 ciekawy program. Niektórzy robią kółko krzyżyk, niektórzy tetris itp. itd. Ja wybrałem grę planszową Monopol. Stworzyłem Form1.h w którym znajduje się plansza gry (wszystkie pola i textboxy...
Jeżeli na początku programu nie użyjesz $NORAMCLEAR , to zmienne globalne (Dim) mają wartość 0, nie dotyczy to zmiennych lokalnych (Local) które definiowane są w obszarze ramki.
Witam. Buduję zegar słowowy (word clock). Funkcję wyświetlającą daną godzinę mam już napisaną i działa prawidłowo (przetestowana dla każdej godziny wpisanej ręcznie), funkcje obsługi zew. RTC (PCF8563) też mam i działają. Zabrałem się za zbieranie tego do kupy i mam następujący kod (wklejam tylko problematyczny kawałek): [syntax=c] if(refresh) { int...
Dziękuję za pomoc, zadeklarowanie zmiennej jako globalnej pomogło, trzeba było jeszcze zmienić w pętli void setup float tempC na tempC.
Wybieram plik i ścieżkę dostępu poprzez FileOpenDialog. To działa, wyświetlam ją w Label, ale tego stringa nie wiem jak przekazać do ShellExecute aby uruchomić wybrany program (lub otworzyc skojarzony plik). Gdy podam w ShellExecute ścieżkę i plik jawnie to OK, lecz jak wstawię w to miejsce zmienną to nic, chociaż w zmiennej jest cała ścieżka wraz z...
Mam jeszcze jedno pytanie,tym razem z uzyciem troche innego rozwiazania Program ma dzialac tak: W form1 mam TextBox1 do ktorego wpisuje tekst,po wcisnieciu Button1 wpisany tekst ma byc zapisany w zmiennej x i ma pojawic sie Form2,gdzie mam TextBox2 ktory ma zawierac to co TextBox1,czyli wartosc zmiennej x Oto sposob w jakim probowalem to zrobic: Deklaruje...
Poczytaj sobie o zakresie widoczności zmiennych, bo bez tego daleko się nie zajdzie... Generalnie - jeżeli tworzysz i deklarujesz jakąś zmienną w Form1, to jest ona widoczna tylko i wyłącznie w Form1 - dlatego z Form1 możesz odwoływać się do Form2, 3 i 4, ale już nie odwrotnie. Jeżeli chcesz się komunikować między formami, potrzebujesz "zewnętrzną",...
Zmieniasz wartość x w przerwaniu i w pętli główniej (pętlą while) To nie ma znaczenia, x nie jest zmienną globalną i jest widziana niezależnie w przerwaniu i w pętli głównej. Timerem TIMER0 odmierzasz czas 1ms. W pętli głównej inkrementujesz zmienną x (16 lub 32 bitową). Jeśli jest ona 16 bitowa to inkrementacja jej wymaga wygenerowania mniejszego...
To bardziej dokładnie: [syntax=c] uint32_t adr; adr=*(ram+CONF_BASE+XSAMPLE); if(adr>31 || adr==0) adr=1; *(ram+CONF_BASE+XSAMPLE+adr)=zm1; *(ram+CONF_BASE+XSAMPLE+adr+1)=zm2; *(ram+CONF_BASE+XSAMPLE+adr+2)=zm3; adr+=3; *(ram+CONF_BASE+XSAMPLE)=adr; [/syntax] powinno zapisywać zestaw zmiennych (globalnych) zm1, zm2, zm3 pod kolejne 10 adresow; Kiedy...
Jak zaktualizować w programie adresację DB po dodaniu gdzieś w środku nowego zmiennej Np. mam jakiś marker DB1.DBX8.0 i jest OK. W DB dopiszę np jakąś nową wartość np REAL przed deklaracją tego DB1.DBX8.0 i w samej DB adres mojego markera zmieni się na DB1.DBX12.0. Jak zaktualizować globalnie te odniesienia w programie. Jak w "rewire" wpisuję DB1.DBX8.0...
i zapisać ją do zmiennej aby wykorzystać ją w innej funkcji Jak zrealizować zmienne globalne masz opisane w helpie
Pracuję na małym procku STM32L0 z 8kB flash i 2kB RAM, debugger to ST-Link v2. Potrzebuję odczytywać na bieżąco w czasie debuggowania z odstępem czasu najwyżej 100µs wartości kilku zmiennych globalnych (a konkretnie wartości ADC i zmiennych odmierzających czas) i zapisywać je do pliku (a po zakończeniu debuggowania przedstawić ich wartości na wykresie)....
polecenie Text Nawias kwadratowy w Tcl oznacza wywołanie skryptu... jakkolwiek musiałby on stanowić wartość zmiennej "mom_sys_coolant_code(ON)". Jeśli w procedurze (proc) chcesz użyć zmiennej globalnej, to możesz jej nazwę poprzedzić przez "::", czyli napisać "set WODA $::mom_sys_coolant_code(ON)", albo użyć "global mom_sys_coolant_code" (to działa...
problem wydaje się, że zniknął. Czy doprowadziłem tutaj do jakiegoś UB? O ile rozumiem ta zmienna to zmienna lokalna zadeklarowana w funkcji. Takie zmienne w C mają "automatic storage duration" i nie są zerowane jak nie ma jawnej inicjalizacji. Dodanie 'static' powoduje, że mają one "static storage duration" (tak samo jak np. zmienne globalne) i są...
Z dodatkowych rzeczy, które mógłbyś poprawić to: - stosowanie wielkich liter dla makr for . Mamy 21 wiek i stosujemy co najmniej "-std=c99", więc nie ma potrzeby deklarowania wszystkich zmiennych na początku funkcji enum i stosować zmienne i argumenty tego typu, np: enum class , który wprowadza zakres widoczności, ale musiałbyś wtedy zmienić język z...
W Zmienne globalne — wiedz, kiedy są modyfikowane Zmienne globalne muszą być ostrożnie obsługiwane, gdy są używane z przerwaniami, ponieważ te są generalnie asynchroniczne. I jeżeli zmienna globalna jest modyfikowana przez ISR, może zostać zmieniona w dowolnym momencie. Musimy mieć na uwadze następujące aspekty: Odczyt/zapis zmiennych globalnych...
Coś mi się wydaje, że kol. xPatryk chodzi o to, że układ się resetuje, ale cały czas jest zasilany (chyba, że się mylę). A w takim przypadku dane wystarczy umieścić w pamięci SRAM, która nie jest czyszczona w trakcie resetu, więc dane w niej zapisane nie zmieniają sie po resecie. Jednak, kompilatory wysokiego poziomu (nie wiem jak robi to BASCOM) często...
Witam!! Nie jestem najmocniejszy w bascomie,ale wydaje mi sie,ze niepotrzebnie dwa razy deklarujesz ta sama zmienna (DANA).Raz jako globalna zmienna na poczatku a drugi raz w procedurze.Mysle,ze o to Ci chodzi: Dim Dane As Byte , Granica_g As Byte , Zmienna As Byte Declare Sub Increment(dana As Byte , Granica_g As Byte) Zmienna = 10 Do Call...
Zadeklaruj w form1 globalna zmienna np tak: var lancuch:string; A potem z drugiej odwoluj sie tak form1.lancuch:=edit1.text Warotsc z przykladowego pola edit z form2 zostanie przeniesiona do string zadeklarowanego w form1.
wczytaj caly plik do tablicy za pomoca funkcji [url=]file() ta funkcja stwarza duzo mniej problemow :] zapomnialem dodac sprawdz jeszcze skrypt ktory zapisuje dane do pliku czy odczytuje zmienie z tablicy $_POST byc mze na serwerze na ktorym masz strone sa wylaczone zmienne globalna i tylko prze ta tablice moza oddczytac dane z formularza pozdrawiam
bez sensu:/ jesli zastosujesz zmienne globalne, to wartosciom tych zmiennych moze stac sie krzywda, jesli to ma byc obiektowy program, zrob sobie klase, w ktorej te zmienne sa private, a w public zrobi do nich akcesory - metody dzieki ktorym bedziesz mogl odczytywac ich wartosci lub je zmieniac, konstruktorem ustawisz sobie poczatkowe wartosci tych...
W tym wypadku chyba nie ma potrzeby używania dyrektywy volatile. Chyba, że bedziesz uzywal tych globalnych zmiennych w przerwaniu. Poza tym mozesz skompilowac program bez i z volatile i porównac kod wynikowy (w assemblerze) i zobaczyc czy kompilator zoptymalizowal tą zmienna.
Poza tym możesz podglądać tylko zmienne globalne, tzn takie które są zdeklarowane np na początku programu, a nie w funkcjach, inaczej otrzymasz komunikat w podglądzie " not in scope" czy jakoś tak :) Lokalne również , ale tylko wtedy , kiedy istnieją , czyli jak program "wkroczy" do funkcji , w której ta lokalna jest zadeklarowana :D Po opuszczeniu...
Stworz plik main.h w ktorym bedziesz deklarowal wszystkie zmienne uzywane globalnie przez main.c, a takrze prototypy funkcji. W pliku main.h mozesz takze na poczatku dołaczyc wszystkie bibliotki ktorych uzywasz w projekcie ( stdlib.h, math.h itp ) i beda one widziane przez pozostale pliki. Na poczatku pliku main.c dolacz plik main.h, ktory stworzyles...
Sorki za program który tworze w oparciu rórzne gotowe procedurki. Jeżeli ja bym to robił o chyba wogle nie było by komentarzy. Niestety ale na studiach na informatyce jeszcze nienauczyli mnie komentazy i chyba nienauczą.. :( Pozdrawiam wytrwałych co mają chęć czytać mój kod. Aż tak się nie przejmuj. Kod powinien być czytelny. Trzeba poznać metody (poczytać),...
ad c) Czy jeśli mam 10 zmiennych, którym w momencie deklaracji nadaję wartość 0, to muszę się liczyć ze stratą 10 bajtów pamięci? Wartości inicjalizacyjne zmiennych są oczywiście, jak to powiedziano, przechowywane w pamięci stałej (np. flash). Można tu jeszcze zwrócić uwagę na następujące szczegóły: 1. Trudno dać głowę, że liczba bajtów zajętych przez...
Witam,dzieki za odpowiedź :) Leszku, substr4 to oczywiscie blad przy przepisywaniu. jesli chodzi o id_! i id_2, to probowalem porownywać je wlasnie w taki sposob, ale nie idzie...ale wtedy nie wywala warninga za to. pamieci przydzielonej dynamicznie nie zwalniam i jak widać jest kaszana.tylko jak rozumiem musialbym to zrobić poza funkcją substr? 1)...
ciastek4 : Ale po co ukrywanie zmiennej globalnej, skoro ona właśnie ma być widoczna w innym module. Wiem. Może nie jasno się wyraziłem. Moje stwierdzenie wczesniejsze jest odpowiedzia na pytanie w 1 poście: Czy jest jakis sposob zeby kompilator to normalnie skompilowal zeby nie pisac tego w asemblerze ? Odpowiedź : usuń static w deklaracji zmiennej....
Witam , #include <iostream> using namespace std; int port=0x378; int dane=0x01; void outport(int port,int dane); int main() { outport(port,dane); cout <<"D0 ustawione na 1"; getchar(); return 0; }; void outport(int port,int dane) { asm(".intel_syntax noprefix");...
Jeśli korzystasz z modelu LARGE, to domyślnie wszystkie zmienne (globalne, lokalne, parametry funkcji) są alokowane w XRAMie. Sprawdź, czy Twój procesor nie potrzebuje dodatkowego kodu inicjalizującego - zresztą Keil pyta o to przy zakładaniu projektu. Pozdrawiam, Dr.Vee
Witam , otóż mam ostatnimi czasy dziwny problem z wywoływaniem funkcji , dołączanych plików źródłowych . Otóż przedstawię może problem w ten sposób : istnieje zmienna globalna używana w pliku xxx.C , zdefiniowana w tym pliku , której używają do obliczeń funkcje z pliku xxx.C . Dopóki wszystko się dzieje w obrębie pliku to jest o.k ( w sensie np , funkcja...
Dziękuję za odpowiedzi. Optymalizację mam wyłączoną. Problem polega niestety w mojej niewiedzy, ponieważ dopiero zaczynam zabawę z C++ po delikatnym programowaniu w C. Jeżeli chodzi o te tablice to prawdopodobnie problem polega na tym, że używam ich wewnątrz klasy, a zdefiniowane mam jako zmienne globalne poza jej obszarem. Tzn. struktura wygląda mniej...
jak ustawię zmienną globalną w Form4 w sekcji public s: integer i używam jej potem w Form5 to nie przenosi jej wartości. Rozwiązanie wyżej nic nie wnosi, bo nie mogę przenieść tych wartości s czy s1 z Form4 do Form5 :/ Albo może po prostu zle definuje zmienna globalną s. Moglby ktos podpowiedziec jak to nalezy zrobic?
Bardzo często pisząc programy posługujemy się zmiennymi lokalnymi, które teoretycznie zwalniają pamięć jeśli nie są używane... ale dlaczego przestawiając podział pamięci na zewn. SRAM (kostka 62256), zmienne te jakby się nie inicjowały i program się wywala? Przykład: dodałem do makefile LDFLAGS += -Wl,--section-start,.data=0x801100,--def...
chodzi ci o zwykłą zmienną globalną ? bo jak tak to wystarczy zadeklarować ją przed funkcją main() i wtedy kazda klasa bedzie miała do niej dostęp. int Glob; void main() { klasa1.cos = Glob; klasa2.cos = Glob; itd... } czy nie oto chodzi ?:D
no to teraz dostałem po nosie :), faktycznie klasy są wygodne w użyciu ale obsługa ich wydłuża pracę :( no nic pozostaje mi przerobić wszystko od zera i zadeklarować typy jako zmienne globalne, ale z drugiej strony chciałem operacje na jednej bitmapie włożyć do wątku o podwyższonym priorytecie i sprawdzić czy zyskam w ten sposób na szybkości. Co do...
Zgodnie z uwagą zmienną bufor należy zadeklarować nie wewnątrz funkcji na_tekst, tylko globalnie. Reszta kodu działa poprawnie. #ifndef F_CPU #define F_CPU 1000000UL #endif volatile int i=0; double T_MAX=15; double CZAS_POD_ON=20; double CZAS_POD_OFF=20; double CZAS_CZEK_ON=20; double CZAS_CZEK_OFF=20; char bufor; unsigned char na_tekst(double liczba)...
Oba przykłady są bzdurą. To żeś wanął, jak przysłowiowy "łysy grzywą o beton". (przy okazji trochę kultury na forum ci proponuję i naucz się dyskutować zamiast ogłaszać wszem i wobec że inni piszą bzdury. Wiesz lepiej? Napisz co i jak , wytłumacz jeśli wiesz lepiej) A jak się okaże, że nie wiesz lepiej to może ktoś inny ci podpowie - wtedy wszyscy...
Nie może dawać warninga - inicjowanie zmiennej globalnej jest zgodne ze standardem języka, a że inicjujesz 0, czyli wartością jaką zmienna i tak będzie miała to tylko dlatego, że to szczególny przypadek. W dodatku to, że pomijana jest inicjalizacja zmiennej w przypadku kiedy jest ona jawnie inicjalizowana przez programistę nie jest wynikiem działania...
Poczytaj o zmiennych globalnych typu volatile. Zamykam
Tylko musisz jeszcze włączyć globalnie przerwania, czyli daj "sei". No i jedna ważna sprawa x musisz zrobić jako Volatile. Zrób Main jako petle niekończącą się w której tylko np drukujesz zawartość zmiennej. W prcedurze przerwania daj albo switcha albo serię ifów - coś w tym stylu: if (PINB & KEY1) x=1; itd Zasada jest banalna, program kręci się w kółko...
Nie zostaje wyzerowana, ona całkowicie znika. To co napisałeś powoduje utworzenie zmiennej lokalnej, o takiej samej nazwie jak zmienna globalna (jest ona w ciele funkcji przesłonięta). Zmieniasz więc wartość zmiennej lokalnej, która po opuszczeniu funkcji jest niszczona i tworzona ponownie po wejściu do tej funkcji. W efekcie zmienna globalna zmienna...
Jeśli minuty lub sekundy są mniejsze od 10 to wyświetl przed nimi "0". Instrukcja IF kolego. Tak to ja wiem i zrobiłem chwilowo bezpośrednio w pętli głównej gdzie jest kod dotyczący wyświetlania ale chciałem to zrobić ładniej w podprogramie obsługi PCF8583 i na zewnątrz wyprowadzić już gotowe zmienne globalne dla pętli głównej
Dziękuje za zainteresowanie i pomoc. Rzeczywiście pogubiłem sie z tym wszystkimi deklaracjami,zmiennymi itp. Zaczynam składać swój program odnowa, tylko boję się, abym znów sie nie pogubił. Nie mam jeszcze wypracowanej techniki. żeby mieć wszystko pod kontrola. Niemniej jeszcze raz DZIĘKI.
Z tym że w moim wypadku dyski są widoczne i mogę włączyć bądź wyłączyć tworzenie backupów. Zresztą już wyłączałem i włączałem w nadziei że to może coś pomoże. Z tego co tu wyczytałem w poradach to po drodze już robiłem i nic to nie dało. Dodam jeszcze że zmienne środowiskowe mam całkowicie przeniesione na dysk D podczas gdy system jest na C, ale wcześniej...
Deklarujesz zmienną jako globalną volatile.
1. Pokaż trochę większe kawałki kodu, bo nie bardzo wiadomo co jest zmienną lokalną w funkcji, co parametrem, co globalną itp. 2. Jak wygląda sprawa liczby wysłanych/odebranych bajtów? Nic się nie gubi - bo Atmega nadaje na max, nie wiadomo czy PC jest w stanie odebrać takie ilości danych dostatecznie szybko. Jaki masz bitrate? Może spróbuj nadawać...
Zmienne statyczne lokalne podobnie jak globalne lądują na stercie. Sekcje ".bss" lub ".data", skoro działa jak inne jak zero to dlatego że wtedy należą do sekcji inicjowanej ".data" a jak 0 to należą do ".bss". Masz skopany linker script dla sekcji ".bss" jest pewnie gdzieś w lesie albo we flashu. No i jeszcze trzeba się upewnić czy kod startowy traktuje...
Na prośbę elektrody o zamknięcie tematu: Problem rozwiązano, przyczyną była nazwa zmiennej globalnej w main (szczegóły w treści wątku).
Zmienne do algorytmu są globalne. Algorytm musi być w funkcji, nie może posiadać pętli, a skok do niej jedynie zwracać kolejną wartość: _0_1_2_3_ 6 _0_1_2_3_ 7 _0_1_2_3_ 8 _ Funkcja sama zarządza zmiennymi globalnymi, program główny jedynie wypisuje wyniki.
A co w przypadku, gdy nie ustali się na początku rozmiaru tablicy (wartości w nawiasie kwadratowym)? Nie zawsze wiadomo z ilu liczb będzie się coś liczyć. Da się określić jakąś zmienną, która nie będzie stałą liczbą, tylko użytkownik wpisze określoną wartość będącą rozmiarem tablicy? Bo mi nie wychodzi właśnie utworzenie pętli, która skorzysta z tablicy...
Tak w uproszczeniu kompilator generuje 3 sekcje - text, data i bss. Pierwsza zawiera kod, druga zainicjowane zmienne, trzecia jest pusta i zawiera tylko deklaracje rozmiaru i jest przeznaczona na zmienne niezainicjowane (obie sekcje są na zmienne statyczne/globalne). Jak działa uruchomienie to zależy od architektury. W normalnych komputerach, gdzie...
Witam, rozpoczynam zabawę z C++ na mikrokontrolerach AVR i już przy pierwszym podejściu przepisania prostej biblioteki (mojego autorstwa) natrafiłem na problem... Sprawa dotyczy obiektów, które mają być używane w zwykłym programie, jak i w procedurach obsługi przerwań. Standardowym podejściem w takim wypadku jest dodanie volatile przed deklaracją zmiennej...
Czy ktoś może pomóc, dać wskazówkę jak to zrobić. Ogólnie planowałem dać w przerwaniu 2 przyciski, jeden do zwiększania czasu a drugi do zmniejszania. W pętli głównej miał być po prostu migająca dioda. W arduino nie miałbym problemu, ale ogólnie mało robię coś w C i potrzebuje pomocy. Kod jest skopiowany z i trochę przerobiony. [syntax=c]#include <avr/io.h>...
Popatrz tutaj: Do arkuszy można odwoływać się albo po ich nazwie, albo po numerze. Można też sprawdzić ile jest arkuszy w skoroszycie. Proponuję zacząć właśnie od tego. (0) odczytaj z określonej komórki w określonym arkuszu wyszukiwany termin (1) ile jest arkuszy w skoroszycie (przypisz do zmiennej) (2) pętla idąca po kolejnych arkuszach (3) funkcja...
otworz np ob1 na dowolnej zmiennej globalnej ctrl +alt+q i wpisz np qw 600 albo qd 600 (szukanie w programie przez go to loaction) zaznacz overlapping acces memory
Nie można. Zmienne tymczasowe są dostępne tylko w obrębie funkcji, w której są zadeklarowane. Musisz ją przepisać do jakiegoś obszaru globalnego (DB, M).
Nic z tego nie rozumiem. Przecież gdy dodaję CTU do jakiegoś FB to i tak tworzy mi się instancja DB w System blocks. Co mi to da, że zrobię zmienne w static skoro te zmienne są i tak będą w instancji? Ale nie w system blocks. Pozdrawiam
Co sądzicie o tym projekcie ? Skąd to wziąłeś czy to Twój autorski projekt? Jeśli autorski to czym się kierowałeś łącząc i dobierając elementy jak na schemacie? Kondensator w katodzie pentody w zasadzie jest podłączony do masy, tyle że poprzez impedancję uzwojenia wtórnego transformatora i równoległą impedancję głośnika. Co to daje doprawdy nie wiem,...
Odnośnie enuma, zleży mi na używaniu status++ a nie status = kolejnaNazwa z lenistwa, to są głównie sekwencyjne operacje, jedna po drugiej. Rozumiem że definiuję nazwy moich przypadków w enum, dostają one kolejne liczby i jak wstawię coś między 'tekst' a 'wyślij' to się samo przenumeruje, tyle że w case'ach muszę używać nazw, ale bez konieczności zmian...
zeby zrobic sesje nalezy na samym poczatku pliku - jeszcze przed wyslaniem naglowkow wstawic session_start(); a następnie odwoływać się do globalnej tablicy $_SESSION, np: $_SESSION['login']=$login;
Witam. Napisalem prosty programik ktory ma za zadanie zwiekszac o 1 zmienna time co wywaolanie Timera1.. i wysłać ją na RS232 niestety tak sie jednak nie dzieje.. za kazdym razem dostaje tą samą wartość... Gdzie jest błąd? Oto kod programu: #include <avr/io.h> #include <stdlib.h> #include <stdio.h> #include <avr/signal.h> #include...
Po co pamięć na i2c? Tinny13 ma 64 bajty wewnętrznego eepromu, powinno starczyć do zapisania sekwencji. Pseudolosowo też może być, trzeba ustalić tylko jakieś reguły np. częstość, albo maksymalna wielkość zmian. a co do pinów to raczej wyjście na pinie 5 albo 6, bo tam są wyjścia sprzętowego PWM. Program na kilka linijek. Z resztą ... /* program moze...
zarowno vhdl jak i ise to nie moja bajka, ale moze przydadza ci sie takie ogolne uwagi: hmmm... spotykalem sie z opiniami aby unikac asynchronicznych sygnalow, ale reseta raczej pozwalano mi zostawic taki globalny reset to jakis 'guzik', ktory ma ustawic cala logike w dobrze zdefiniowany stan poczatkowy; naciskasz reset, F-F sa zerowane, zwalniasz reset;...
#include "stdafx.h" #include "string.h" #include <stdlib.h> struct dane { char *autor; ; }; struct ksiazka { struct dane dane; struct ksiazka *next; }; void dodaj(struct ksiazka *pierwszy) { char buffor[80]; scanf("%s",&buffor)... if(pierwszy==NULL) {...
Rzeczywiście dodanie volatile pomogło. Ale tutaj mam pytanie odnośnie tego kodu. #define F_CPU 1000000 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))...
Dawid.wielun scroll czyli WM_MOUSEWHEEL jest ultra trudny do zasymulowania, walczyłem z tym 2 tygodnie i poległem ale jego detekcja może być łatwiejsza. edit: udało mi się właśnie zasymulować scroll mouse_event(MOUSEEVENTF_WHEEL,0,0,12... -120 dla kręcenia w dół 2 tygodnie męczenia a tu nagle olśnienie i działa poszukałem również trochę...
Przepraszam za opóźniony powrót do tematu ale musiałem do tego dojrzeć... 1. char a unsigned char (uint8_t) to co innego. string napisany tak jak w wywolaniu twojej funkcji jest typu char*. musisz wiec albo zmienic swoja funkcje, albo zrzutowac na (uint8_t*), albo to olac... Wydawało mi się że dowolna ośmiobitowa zmienna będzie miała taką samą interpretację...
Będzie zwracał błąd. Bo tworzysz zmienną lokalną, której adres przekazujesz. Są dwa wyjścia: 1. Zwracanie poprzez wartość. 2. Zmienną temp definiujesz globalnie. Nie pisałem nic w winavr ale problem wydaje się dość standardowy.
Witam. Mam problem. Jest program w którym jest zmienna. Gdzieś jest zdefiniowana i nie mam pojęcia gdzie. Wystawia mi na wyjście analogowe napięcie i potrzebuję je zmienić. W System managerze jest linkowane wyjście do nDacOut.stAxDeviceOut[10].stAxDe... W zmiennych globalnych widzę: stAxDeviceOut AT %Q*:ARRAY [ncnstFirstAxId..ncnstLastAxId]....
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...
Jestem troche zdziwiony implementacją softwareowych licznikow według opisywanych tu sposobów... Po co wykonywać zbędny kod w ISRrze (czyli load, wyifowanie, dekrementacja,store), i to jeszcze oddzielnie dla kazdej zmiennej "timer", tak jak tu: jednego globalnego licznika idącego sobie po prostu do przodu... jeden raz load, dekrementacja, store (bez...
Właściwie dwa pytania ale jedno z większym priorytetem ;) Otóż, projektuje odległościomierz. Zamysł jest następujący 1. Załączam tranzystor który steruje napięciem dla nadajnika. 2. Włączam zliczanie czasu 3. Gdy pojawi się sygnał na odbiorniku. Wyłączam naliczenie i prezentuje wynik. Timer skonfigurowałem, żeby przerywał co 1us jednak nie jest to zbyt...
Witam, napisałem bardzo prosty kod sterujący przez przerwanie wyświetlaczami LED i zwiększający o 1 zmienną z co sekundę [syntax=c] #include <avr/io.h> #define F_CPU 8000000 #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <inttypes.h> #include <util/delay.h> unsigned char z=0; unsigned char i=0; //zmienna...
Parametry globalne... zaznaczone? To jest jak byk w instrukcji.
Zauważ, że gdy wyślesz "TEST" to: 1. funkcja "analizuj_dane_id" w buforze "buf" dostaje odebrane dane z uartu - czyli słowo "TEST" 2. funkcja "strtok" nie znajduje w buforze (w słowie "TEST") znaków rozdzielających słowa/tokeny (+ lub "), więc zwraca NULL 3. "eeprom_write_block" nie ma sensu bo wartość "wsk" jest równa NULL 4. kopiowanie do tablicy...
Nigdzie nie napisałem, że implementacja tych funkcji na AVR jest niemożliwa, a jedynie, że nikt tego jeszcze nie zrobił i pliku stdatomic.h nie ma w AVR-libc. W tym zakresie twoja porada była bezużyteczna, bo wobec braku stosownego pliku i implementacji nie da się z niej skorzystać. Moze posiadam jakigoś starego toolchaina albo avr-libc ale: /usr/lib/gcc/avr/4.9.2/include/stdatomic...
(at)Piotrus_999 x nie jest iniclajizowana lastx tez A niby po co mają być inicjalizowane skoro są globalne?
Oczekujemy Twojej wersji kodu, który widzisz w asemblerze. Masz okazję błysnąć 140 albo 132 taktow do pobicia (jakzrobi sie zmenne globalne w rejestrach zabierając dwa na stale. Czekamy na wynik.)