Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 gru 2024, o 12:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 132 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona
Autor Wiadomość
PostNapisane: 31 sie 2012, o 20:44 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

I przeanalizuj ten kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2012, o 14:12 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Funkcja działa ok.

1.Dodam, że stworzyłem jeszcze 4 funkcje i działają poprawnie. Ale w każdej z nich jak i w changeCounter pojawia się warning:

passing argument 1/2 of "changeCounter" makes pointer from integer without cast

2.Jeżeli mam ++i to licznik jest okej tzn. nie muszę na lcd wpisywać licznik-1, ale w ustawianiu minut potrzebne mi jest zero a tutaj licznik nalicza od jedynki itd.

3.lcd_locate(1,7). Czy w funkcji da się ustawić zmienną lcd_locate(1,x), żeby zmieniać położenie na LCD



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2012, o 15:34 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

1. Zapomniałeś gdzieś przy wywołaniu funkcji o &. Jak argumentem funkcji jest wskaźnik to wywołanie funkcji musi pobierać adres zmiennej, a nie wartość.
2. Możesz zwiększanie tej zmiennej przenieść, gdzie indziej. Przeanalizuj po kolei co się z nią dzieje.
3. Pewnie, że tak.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2012, o 16:38 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Funkcja wygląda tak i działa:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



lcd_locate() też śmiga :)

------------------------ [ Dodano po: 2 minutach ]

A co do warningu to wszędzie jest &. Wyskakuje mi takich błędów 62 :!:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2012, o 18:20 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Kompilator pokazuje miejsce, którego dotyczy ostrzeże. Możesz skopiować taką linię.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2012, o 08:18 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

passing argument 1/2 of "changeCounter" makes pointer from integer without cast

Taki błąd wyświetla się w każdym wywołaniu funkcji dla &time_prog oraz &time_plus_prog. 62 błędy dotyczą każdego odwołania do funkcji w których jest uint8_t* time_prog i uint8_t* time_plus_prog



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2012, o 16:44 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Mam problem. Gdy ustawiam wybór poszczególnych przekaźników i wybiorę przekaźnik 1 oraz 2 to program załączy przekaźnik 1 potem 2, ale cała sekwencja się nie powtarza. Powtarza się jedynie gdy cztery przekaźniki są zaprogramowanie.

W tym przypadku licznik13, 16, 19, 22 jest równy 0:

Problem chyba polega na tym, że flagi na końcu przekaźnika 4 nie są ponownie ustawiane na 1. Jak to rozwiązać? ;)



Ostatnio edytowano 10 sty 2013, o 11:17 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 wrz 2012, o 10:38 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

To może nie ustawiaj tych 4 flag w obsłudze przekaźnika 4 tylko zamiast zerowania ich na końcu np. flaga_p1_p1=0; //off ustaw na 1 np. flaga_p1_p1=1; każdą z osobna.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 wrz 2012, o 15:18 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Czy dobrze kombinuje z tą funkcją jeśli chodzi o pracę przekaźnika w zależności od ustawionej godziny włączenia i wyłączenia ( np 12:30:20 do 16:20:10). Jak wiadomo godziny, minuty i sekundy właczenie mogą być większe lub mniejsze
od wyłączenia



Ostatnio edytowano 10 sty 2013, o 11:17 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2012, o 17:42 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Krauser bardzo proszę o opinie na temat mojej funkcji ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2012, o 18:54 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

tak się nie robi .... bo jak byś miał jeszcze daty dodać to za chwilę musiałbyś przekazywać 1000 argumentów do funkcji a i tak już masz 500

zamień godziny i minuty na liczby

h_start=(hh*60)+mm;
h_stop=(hhs*60)+mms;

i potem porównój liczby

if( h_stop > h_start )...

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2012, o 20:03 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Pierwszy problem z kodem to zbytnie rozbudowanie, a drugi to taki, że w funkcji wielokrotne wykorzystujesz zmienne ze specyfikatorem volatile, a przypomnę, że w Twoim pierwszym poście masz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

W każdym obiegu tych porównań wystąpi wielokrotne niepotrzebne odczytywanie tych zmiennych z pamięci RAM zamiast z rejestrów. Ta pierwsza opcja wymaga większej ilości instrukcji i pociągnie większe zużycie pamięci programu. W takich przypadkach lepiej skopiować takie zmienne do innych i na nich wykonać te porównania lub nawet operacje i zapisać z powrotem do zmiennych z przydomkiem volatile.
Skorzystaj z powyższej rady lub nawet wykorzystaj czas uniksowy.
Volatile nie jest potrzebne do tych zmiennych, bo czas odczytujesz tylko w pętli głównej.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 15:35 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Rozumiem, ale gdy mamy przedział np. od 11:12:30 - 02:03:00 to h_start> h_stop.

Minuty stop są mniejsze niż minuty start tzn., że przedział minut powinien zawierać się w granicy:

minuty>=minuty_start || minuty<minuty_stop

bo gdy będzie:

minuty>=minuty_start && minuty<minuty_stop

to minuty muszą być większe od 12 i mniejsze od 3, a nie ma takiej liczby. Czy dobrze myślę? Czy już mi się coś poplątało?

Więc w jaki sposób to rozwiązać w kodzie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2012, o 18:18 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Dzięki waszym wskazówkom powstała taka funkcja:
Jednak nie działa. Wydaje mi się, że to z powodu nie zmieniającego się czasu, co skutkuje nie załączeniem przekaźnika



Ostatnio edytowano 10 sty 2013, o 11:18 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2012, o 08:43 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

&& ma wyższy priorytet niż ||
A ty masz coś takiego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Porównaj z tym co kolega GwynBleidD napisał.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 wrz 2012, o 17:15 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Nie podoba mi się jedna rzecz w moim kodzie, próbowałem to zmienić ale nie mam pomysłu. Chodzi o wyczyszczenie zapisanego programu. Po ustawieniu godzin włączania i wyłączania przekaźników i zaakceptowaniu program 1 działa. Po wyjściu escapem i ponownym wejcciu w program jest możliwość wyczyszczenia

Po ponownym wejściu w program 1 zaczynamy wtedy programowanie od nowa.

Czy macie jakiś inny pomysł jak to rozwiązać, ponieważ źle to działa.



Ostatnio edytowano 10 sty 2013, o 11:19 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2012, o 13:21 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Problem rozwiązałem :lol:



Ostatnio edytowano 10 sty 2013, o 11:20 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2012, o 13:25 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Tak śledzę czasem ten temat, szczegółów nie znam ale gdy widzę takie coś

Kod:
uint8_t DeviceWorks(uint8_t* flaga_p_p, uint8_t* h_start, uint8_t* h_stop, uint8_t* m_start, uint8_t* m_stop, uint8_t* sek_start, uint8_t* sek_stop,uint8_t* year_start, uint8_t* year_stop, uint8_t* month_start, uint8_t* month_stop, uint8_t* day_start, uint8_t* day_stop, uint8_t device)


to aż serce się kroi i woła o to aby w końcu nauczyć wykorzystywać struktury danych, i do funkcji przesłać jeden argument w postaci wskaźnika do struktury a nie TYLE argumentów, przecież takie podejście poza koszmarem kodu, poza kłopotem z czytaniem, poza łatwością o pomyłkę - zjada ci stos na potęgę i gdy tą drogą będziesz szedł to się potem będziesz dopiero dziwił że coś ci tam w zaskakujący sposób nie działa. Bo niestety uszkodzenia stosu dają najbardziej mylące objawy i najgorsze efekty...

zatem taki przykład - to "NAJLEPSZY" przykład jak to jest gdy ktoś nie chce się nauczyć struktur w C i sięgnąć po nie.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2012, o 13:30 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

rafkins22 napisał(a):
Mam pytanie w jaki sposób zmieniać w funkcji LED1_ON,LED1_OFF na np. LED2_ON i LED2_OFF

Dodaj sobie funkcję static void ledOn(uint8_t led) i static void ledOff(uint8_t led)
rafkins22 napisał(a):
Czy macie jakiś inny pomysł jak to rozwiązać, ponieważ źle to działa.

To stwierdzenie jest zbyt ogólne. Jak chcesz zaoszczędzić na pamięci programu to mógłbyś to nieco uporządkować wprowadzając zamiast np. licznik5 tablicę licznik i do większości operacji użyć pętli for.

Do porównywania czasu łącznie datą lepiej przejść na czas unixowy, bo lata mogą być również przestępne. Poszukaj gotowej funkcji do konwersji w jedną i drugą stronę.
W tym zegarze jest również funkcja alarmu, można by ją wykorzystać.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2012, o 16:38 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Chcę się nauczyć dlatego zadaję pytania i proszę o pomoc.Dopiero to mój pierwszy poważny projekt i stąd taki nie ład w pewnych miejscach. Ale dzięki mirekk36, że wskazałeś mi dobrą drogę. Rzeczywiście muszę w swoim projekcie użyć struktur danych i tablic w celu optymalizacji kodu. Kiedyś wykorzystywałem struktury, ale już co nie co zapomniałem.

Tylko nie wiem w jaki sposób ma wyglądać odwołanie do wskaźnika struktury w mojej funkcji. Proszę o pomoc. Muszę załapać i wtedy już będzie z górki.


Poza tym nie wiem czy flaga_p_p powinna być w strukturze. Jeżeli będę miał 10 programów i dla każdego 4 przekażniki do ustawienia ( np. flaga_p1_p1, flaga_p1_p2, flaga_p1_p3, flaga_p1_p4, flaga_p2_p1, flaga_p2_p2 .... itd)

A co wtedy z licznikami ustawiającymi czasy włączania i wyłączania przekaźników oraz daty



Ostatnio edytowano 10 sty 2013, o 11:21 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 paź 2012, o 13:59 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

W twoim przypadku, gdzie masz wiele takich samych "obiektów" deklaracja struktury bez nazwy i jednoczesna definicja tego typu zmiennej jest bezużyteczna, bo nie możesz zdefiniować innych zmiennych. Takie coś odpada:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Do definiowania struktury najlepiej posługiwać się słowem typedef, a to dlatego, że później definiowanie zmiennych jest takie jak i tych podstawowych:
Bez typedef
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a z użyciem typedef
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czyli powinno to być mniej więcej tak, ale zastanów się nad organizacją danych, co cechuje pojedynczy przekaźnik. Jakie dane mają być w programie. Rozpisz to sobie dokładnie na kartce, a będzie ci później łatwiej to przenieść do programu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

rafkins22 napisał(a):
Jeśli chodzi o czas unixowy poczytam na ten temat, bo na razie nie mam na ten temat pojęcia. Ale jeżeli będę chciał z niego skorzystać to muszę to wszystko zmieniać, aby dostosować do czasu unixowego:
...
Czy chodzi tylko o użycie czasu unixowego do przeliczenia przedziałów ,daty włączania i wyłączenia?

To zależy jak zamierzasz wykorzystać to sterowanie z datą. Na pewno do porównań będzie lepszy, ale jak chciałbyś coś sterować w cyklu dziennym, tygodniowym, miesięcznym to się nie nadaje.

_________________
Dragonus Cracovus: Biomagia



Ostatnio edytowano 1 paź 2012, o 20:21 przez Krauser, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 paź 2012, o 15:52 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Krauser mając na myśli " wiele takich samych obiektów", chodzi Ci o to, że mam 4 przekaźniki? Mając strukturę:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Do każdego przekaźnika będę miał inne godziny start, godziny stop ... itd. (np. przekaznik1.h_start), ale po co? Nie mogę się odwołać do funkcji w której mam wszystko obliczone, a w wywołaniu funkcji odwołuję się do danego przekaźnika?

Może źle Cię zrozumiałem ;)



Ostatnio edytowano 10 sty 2013, o 11:22 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 paź 2012, o 21:02 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

rafkins22 napisał(a):
Krauser mając na myśli " wiele takich samych obiektów", chodzi Ci o to, że mam 4 przekaźniki?

Dokładnie chodziło mi o to, że tworząc strukturę bez nazwy więcej już nie możesz jej wykorzystać np. jako element kolejnej struktury, bo możesz zrobić też tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

rafkins22 napisał(a):
Do każdego przekaźnika będę miał inne godziny start, godziny stop ... itd. (np. przekaznik1.h_start), ale po co? Nie mogę się odwołać do funkcji w której mam wszystko obliczone, a w wywołaniu funkcji odwołuję się do danego przekaźnika?

Może źle Cię zrozumiałem ;)

Albo ja Ciebie :lol: Myślałem, że chciałeś pobierać czasy włączenia i wyłączenia jako składową danego programu działania, a wtedy w każdym innym "programie sterującym" to by się różniło. Na tym etapie nie zamierzam już dyskutować o algorytmie działania. Dlatego jak masz jakiś problem to staraj się go dokładniej opisać.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2012, o 18:22 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Zacznę może dokładnie od początku, wtedy będziesz mógł mi pomóc.
I teraz Krauser proszę powiedz mi w jaki sposób stworzyć do tego strukturę tak jak zalecił mirekk36, żeby nie przesadzić ze stosem, który może zjadać mi RAM i powodować dziwaczne błędy.



Ostatnio edytowano 10 sty 2013, o 11:23 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2012, o 16:52 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Struktura:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Funkcja
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wywołanie funkcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Mam jeszcze taką uwagę odnośnie nazywania zmiennych. Masz counter[24], a później opisujesz co znajduje się w kolejnych komórkach tej tablicy. Tablica jest dobra do wykorzystania w pętli for, ale wtedy nie masz intuicyjnych nazw przez co łatwo o pomyłkę. Można to połaczyć stosując unię. Np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Ostatnio edytowano 6 paź 2012, o 17:47 przez Krauser, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2012, o 17:52 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Bardzo dziękuje za wytłumaczenie Krauser.Zaczynam już to rozumieć co mnie niezmiernie cieszy :D Jeszcze jedna rzecz mnie zastanawia.



Ostatnio edytowano 10 sty 2013, o 11:23 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2012, o 19:21 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

To by było niepotrzebne zwiększanie rozmiaru programu. Jeśli dobrze myślę to zmienna device przekazuje numer przekaźnika i wtedy możesz zrobić tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2012, o 13:10 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Wyskakują mi takie błędy:

../main.c: In function 'DeviceWorks':
../main.c:3990: error: 'program_wsk' undeclared (first use in this function)
../main.c:3990: error: (Each undeclared identifier is reported only once
../main.c:3990: error: for each function it appears in.)



Ostatnio edytowano 10 sty 2013, o 11:23 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2012, o 17:50 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

To moja pomyłka. W końcu ta struktura nazywa PROGRAMY.
Zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ma być:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2012, o 18:48 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 104
Pomógł: 0

Nadal pojawiają mi się 3 błędy:



Ostatnio edytowano 10 sty 2013, o 11:24 przez rafkins22, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 132 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO