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



Teraz jest 5 lut 2025, o 20:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 19 mar 2014, o 21:11 
Offline
Użytkownik

Dołączył(a): 04 lis 2012
Posty: 108
Pomógł: 0

Witam.
Mam problem z zadeklarowaniem zmiennych i wywala mi błąd przy silnik_gora i silnik_dol.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2014, o 21:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 sty 2013
Posty: 426
Pomógł: 36

Pokaż wycinek z konsoli.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2014, o 21:24 
Offline
Moderator
Avatar użytkownika

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

i dobrze że wywala błąd, bo:

1. Silnik_gora to nie deklaracja zmiennej a stałej dosłownej (zatem nie ma w ogóle w programie zmiennej o takiej nazwie)

2. a ty tymczasem próbujesz przypisać wartość

Silnik_gora=0;

takiej nie istniejącej w programie (czyli NIEZDEFINIOWANEJ zmiennej)

_________________
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: 19 mar 2014, o 21:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Z tego co widzę to masz tylko jedna zmienną ruch_bramy. A silnik_gora i silnik_dol to nie są zmienne. Wszędzie w programie zamiast tych nazw preprocesor podstawi (1<<PC2) i (1<<PC1).
Tak więc twoja pętla while wygląda tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Sam przyznaj, że to jest bez sensu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2014, o 22:23 
Offline
Użytkownik

Dołączył(a): 04 lis 2012
Posty: 108
Pomógł: 0

Więc w takim razie jak przypisać do zmiennej pin?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 mar 2014, o 22:35 
Offline
Moderator
Avatar użytkownika

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

henryxxl napisał(a):
Więc w takim razie jak przypisać do zmiennej pin?


Posłuchaj - a czy przeczytałeś w książce (Bluebooku) na temat typów w C, no i NAJWAŻNIEJSZE na temat DEFINICJI i DEKLARACJI zmiennych ??? ... bo z tego wątku i tego pytania wydaje mi się (mogę się nawet założyć) że raczej nie ... albo może przeczytałeś ale nie zrozumiałeś i nie dopytałeś

a bez tych PODSTAW w ogóle ale to w ogóle nie ruszysz z nauką C

zapamiętaj - akurat pojęcie DEFINICJI zmiennej to trzeba znać nawet jak ktoś cię w nocy obudzi i błyśnie lampą błyskową po oczach :)

_________________
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: 19 mar 2014, o 23:26 
Offline
Użytkownik

Dołączył(a): 04 lis 2012
Posty: 108
Pomógł: 0

Przeczytałem trochę z BlueBook'a i czy teraz program napisałem dobrze?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2014, o 08:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

a gdzie petla nieskonczona? np
while(1){
}


Wysłane z telefonu

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2014, o 10:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Tak jak napisał kolega wcześniej nie masz pętli nieskończonej.
Poza tym w gcc zamiast int lepiej używać uint8_t, int8_t, uint16_t itd. Bo od razu widać ilu bajtowa jest dana zmienna.

W pierwszym poście w kodzie używasz czterech pinów jako wejścia. Nie widzę tam wewnętrznego podciągnięcia do VCC więc domyślam się, że wymuszasz na tych pinach stan VCC lub GND za pomocą zewnętrznych rezystorów. Bo jeśli pozostawisz je jako wejścia w stanie wysokiej impedancji to będą ci się różne cuda dziać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2014, o 11:12 
Offline
Użytkownik

Dołączył(a): 04 lis 2012
Posty: 108
Pomógł: 0

Dziękuję za pomoc. Faktycznie nie dałem wewnętrznych podciągnięć do plusa. Już to ustawiam ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 mar 2014, o 11:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

nie zapomnij wstawić if w pętlę nieskończoną

Wysłane z telefonu

_________________
Usługi druku przestrzennego - www.drumik.pl



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: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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