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



Teraz jest 19 kwi 2024, o 19:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 41 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 6 kwi 2012, o 21:19 
Offline
Moderator
Avatar użytkownika

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

Wrangler napisał(a):
Usunąłem z Twojego kodu, co dla mnie było niejasne (w sensie zbędne) m.in. usunąłem inicjalizację "stan", po prostu zdefiniowałem zmienną, usunąłem również stan=2, i u mnie wszystko chodzi?


No usuwanie inicjalizacji zmiennej lokalnej (wewn. funkcji) i jeszcze mówienie że to niejasne albo co gorsza "zbędne" to niestety lenistwo i niechęć do przeczytania w książce podstawowych informacji na temat rodzajów zmiennych, tego które są inicjalizowane przez kompilator a które nie (to ważne i kolega Malutki_27 - jak widać dobrze o tym wie) ..... nie wspomnę o doczytaniu o zakresach widoczności nazw, funkcjach czy też wpływie na stos takich zmiennych lokalnych.... To lenistwo będzie się niestety odbijać ogromną czkawką w dalszym programowaniu :( ..... Ja bym tam doczytał - jak mi ktoś mówi że ma być inicjalizacja - a nie pisał że zrobiłem bez i też działa. Przy takim podejściu ..... oooj będzie ciężko....

Nie wspomnę już o tym, że zdaje się kolega wcale nie zwraca uwagi na warningi, bo przy takim zdefiniowaniu zmiennej lokalnej a potem jej użyciu w IF'ach - muszą być warningi - no ale rozumiem, że co tam warningi ??? nie ma co sobie nimi głowy zawracać - prawda ? ..... To też się odbije potworną czkawką i wydłużeniem czasu nauki tego C.

_________________
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: 6 kwi 2012, o 21:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

mirekk36 napisał(a):
Nie wspomnę już o tym, że zdaje się kolega wcale nie zwraca uwagi na warningi, bo przy takim zdefiniowaniu zmiennej lokalnej a potem jej użyciu w IF'ach - muszą być warningi - no ale rozumiem, że co tam warningi ??? nie ma co sobie nimi głowy zawracać - prawda ? ..... To też się odbije potworną czkawką i wydłużeniem czasu nauki tego C.


Po usunięciu tego, co pisałem...

Kod:
Build started 6.4.2012 at 22:35:46
avr-gcc -mmcu=atmega32 -Wl,-Map=dioda1.map dioda1.o     -o dioda1.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature  dioda1.elf dioda1.hex
avr-objdump -h -S dioda1.elf > dioda1.lss

AVR Memory Usage
----------------
Device: atmega32

Program:     328 bytes (1.0% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)


Build succeeded with 0 Warnings...


Dostało mi się nieźle, ale bezmyślnie naprawdę wydaje mi się, że nie działam, no przynajmniej staram się... ;/
Btw. lektury, to jasne, że zaraz doczytam w czym braki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 kwi 2012, o 21:45 
Offline
Moderator
Avatar użytkownika

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

Ja nie mówiłem że bezmyślnie - ale błędy popełniać każdy może chyba .... dlatego zwracam na niektóre uwagę.....

Pokazałeś proces po kompilacji ale nie widzę kodu..... sam sobie zobacz jak wygląda wyraźnie warning w Eclipse od czegoś takiego gdy nie ma inicjalizacji zmiennej lokalnej.

Obrazek

I spróbuj sobie doczytać dlaczego tak się dzieje i z czego to wynika, że takie zmienne TRZEBA inicjalizować OK? Na prawdę ta wiedza to PODSTAWA podstaw i bardzo ci się przyda - tym bardziej, że to ma wpływ także na stos.

_________________
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: 6 kwi 2012, o 21:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

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

brak inicjalizacji, no i pousuwane stan = 2;

Gdyby AVRstudio4 krzyknął mi błąd, to na pewno bym się zastanowił nad tym, a tak wyszło, że wszystko ok, tym bardziej działa wszystko jak należy, stąd już dalej jechałem po bandzie..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 kwi 2012, o 22:10 
Offline
Moderator
Avatar użytkownika

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

O MATKO!!!! I ty jeszcze do tego piszesz hmmm to znaczy męczysz się w AVR Studio ????? Tylko mi nie mów jeszcze że w AVR Studio 5 alb 6 ????? Bo to już masakra

ale podpowiem ci że nawet gdybyś pisał w AVRS to też masz ten WARNING - tylko że nie pokazany tak PIĘKNIE I DOBITNIE jak w ECLIPSE .... trzeba sobie konsolę całą przewijać i szukać warningów tam....

No ale to kolejny kamyczek do tego żeby przejść na ECLIPSE - hmmm no nic - niektórzy widzę lubią używać masochistycznych środowisk ..... wolna wola ...... I sam zobacz do czego cię to doprowadza i to jeszcze na początku tej drogi....

a wszędzie trąbię, żeby przejść na ECLIPSA - właśnie przynajmniej na początku - tak chociaż dla sprawdzenia ..... Bo on potrafi zaoszczędzić wielu godzin chociażby na szukaniu takich błędów - o innych rzeczach już nie wspomnę bo się rozpisałem chyba w znanym już artykule na blogu:

http://mirekk36.blogspot.com/2011/11/dl ... tudio.html


... a tak przy okazji zobacz do czego prowadzi takie pisanie programów bez tych standardów o których wciąż mówię i naciskam:

http://www.elektroda.pl/rtvforum/viewto ... 9#10765699

_________________
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: 6 kwi 2012, o 22:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

mirekk36 napisał(a):
masochistycznych

padłem!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 kwi 2012, o 23:02 
Offline
Moderator
Avatar użytkownika

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

Wrangler napisał(a):
mirekk36 napisał(a):
masochistycznych

padłem!


Nie rozumiem ? ;)

_________________
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: 6 kwi 2012, o 23:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

W sumie to nic. Po prostu nie spotkałem jeszcze w swoim dość krótkim życiu takiego określenia w dziedzinie uC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 kwi 2012, o 23:17 
Offline
Moderator
Avatar użytkownika

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

Oj tam, oj tam - to takie żarty ;) chyba już trochę przywykłeś do mojego poczucia humoru.....

(a ja słyszałem nawet gorsze określenia w elektronice) .....

_________________
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: 8 kwi 2012, o 09:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 243
Lokalizacja: wlkp
Pomógł: 2

Wracając do kodu Malutki_27, to sorry, ale nadal nie widzę związku z tym stan = 2.
To, że stan = 0 i stan = 1, to dla mnie jasne, odróżniasz stan rejestru OCR0 (0 - gdy dioda nie świeci, 1 - OCR0 różne od zera, dioda "jakoś" świeci, niekoniecznie max.).
stan = 2 sygnalizuje dla mnie, że po prostu przycisk został naciśnięty, ale czemu ten "stan = 2" służy? Nigdzie dalej to "nie idzie"..
No sorry, ale już naprawdę nie wiem...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2012, o 09:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

A ten stan=2 jest po to żeby PWM był raz załączony raz wyłączony. Gdyby nie było 2 to byś włączał i wyłączał PWM.



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: 41 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO