matrix Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 Słuchajcie, jeszcze nie doczytałem pewnej rzeczy a bardzo chciałbym to wiedzieć. Jeśli do danego pinu portu przypiszę jakąś nazwę, dajmy na to: #define RST PORTB.4 to czemu nie mogę napisać: RST=1; Kompilator wywala mi do tego błąd. Czemu? Link do komentarza Share on other sites More sharing options...
BlackJack Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 A RST nie jest przypadkiem nazwą zastrzeżoną ? Spróbuj napisać RESET zamiast RST. Link do komentarza Share on other sites More sharing options...
matrix Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 A RST nie jest przypadkiem nazwą zastrzeżoną ? Spróbuj napisać RESET zamiast RST. Nie, kompilator wywala taki błąd: error: expected ';' before numeric constant Link do komentarza Share on other sites More sharing options...
gohandi Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 Słuchajcie, jeszcze nie doczytałem pewnej rzeczy a bardzo chciałbym to wiedzieć. Jeśli do danego pinu portu przypiszę jakąś nazwę, dajmy na to: #define RST PORTB.4 to czemu nie mogę napisać: RST=1; Kompilator wywala mi do tego błąd. Czemu? Osobiscie uwazam ze nie tak sie tego poprostu używa Sam zapis PORTB.4 nic mi nie mówi i widze go pierwszy raz. Widziałem natomiast PORTB4 w sumie nadal niewiele to zmienia bo raczej uzywa sie to w ten sposób że jesli chcesz ustawić stan logiczny wysoki to pisze się tak: PORTC = PORTC|(1< Jesli chcesz to robić inaczej to wtedy pasuje napisać sobie funkcje lub makro. Badź ostrożny przy używaniu #define. Jest to intrukcja preprocesora (zostanie wykonana jeszcze przed kompilacją) i najprościej w świecie podmienia tekst. Pozdrawiam Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
OldSkull Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 Po prostu jak do ściany. matrix, zanim ktokolwiek Ci teraz pomoże, wyjaśnij, dlaczego z uporem maniaka używasz "PORTB.4", skoro już minimum 2 razy pisano Ci, że taki zapis jest nieprawidłowy?? Weź człowieku przeczytaj uwagi, które już masz napisane, następnie przeczytaj je drugi raz i dopiero zadawaj następne pytania. Link do komentarza Share on other sites More sharing options...
matrix Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 Po prostu jak do ściany. matrix, zanim ktokolwiek Ci teraz pomoże, wyjaśnij, dlaczego z uporem maniaka używasz "PORTB.4", skoro już minimum 2 razy pisano Ci, że taki zapis jest nieprawidłowy?? Bo jest tak w programie który znalazłem gdzieś w necie i chcę wiedzieć czemu kompilator wywala błąd? Weź człowieku przeczytaj uwagi, które już masz napisane, następnie przeczytaj je drugi raz i dopiero zadawaj następne pytania. Ale w uwagach nie podano czemu tak jest źle? Link do komentarza Share on other sites More sharing options...
gohandi Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 Może to wynikać z faktu, że ktos miał inne środowisko. Nie czyste C tylko jakies Ardunio. Nie znam platfromy tylko strzelam. W WinAvr taki zapis nie ma sensu ponieważ kropka symbolizuje "wejscie glebiej" w STRUKTURE. Natomiast porty są "zwykłymi" rejestrami. W związku z tym nie wchodzisz w nie głębiej. W C nie można w ten sposób się odwałać do n-tego bitu rejestru. Ja robie to tak jak już ci napisałem lub w zapisie skróconym PORTC|=1< Pozdrawiam Link do komentarza Share on other sites More sharing options...
OldSkull Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 le w uwagach nie podano czemu tak jest źle? https://www.forbot.pl/forum/topics20/szybki-start-z-winavr-vt513,75.htm#44647 A pytania dlaczego nie działa kod znaleziony gdzieś w necie powinieneś zadawać autorowi kodu. Ten kod nie ma prawa działać w standardowych bibliotekach. Arduino to też nie jest. Lepiej przejrzyj kody robotów itp., które były wrzucane na forum. Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Kwiecień 11, 2011 Autor tematu Udostępnij Kwiecień 11, 2011 matrix, na prawdę czytając te posty polecam zaryzykować zakup książki, którą linkowałem wcześniej 😉 Po 2h czytania będziesz wiedział co robiłeś źle, a po 2 dniach będziesz się śmiał z tego tematu 😋 Link do komentarza Share on other sites More sharing options...
OldSkull Kwiecień 11, 2011 Udostępnij Kwiecień 11, 2011 http://allegro.pl/arkana-c-programowianie-deitel-polecam-okazja-i1555929561.html polecam powalczyć o to. Warto! Link do komentarza Share on other sites More sharing options...
matrix Kwiecień 12, 2011 Udostępnij Kwiecień 12, 2011 Spokojnie, juz czytam Symfonię C++. Sporo już mi się wyjaśniło i mam nadzieję że będę wiedziała więcej. Szczerze to nie wyobrażam sobie bujnięcia timera w C. W bascom było to niemalże dziecinnie łatwe. Ale jak na razie do timerów to ja mam jeszcze daleko. Link do komentarza Share on other sites More sharing options...
zbizeb Kwiecień 12, 2011 Udostępnij Kwiecień 12, 2011 Polecam "Mikriokontrolery AVR Język C" Mirosława Kardaśa. Też myślałem że C jest trudne i ta książka zmieniła moje zdanie. Pozdrawiam i miłej lektury. Link do komentarza Share on other sites More sharing options...
robert90 Kwiecień 12, 2011 Udostępnij Kwiecień 12, 2011 matrix - ja z kolei nie wyobrażam sobie timera w bascom kwestia przyzwyczajenia do języka. Dobrze że w końcu zabrałeś się za C/C++ i dobrze że właśnie z Symfonią (nie przerazi Cię ten język i na pewno go polubisz dzięki tej książce). Link do komentarza Share on other sites More sharing options...
matrix Kwiecień 13, 2011 Udostępnij Kwiecień 13, 2011 Słuchajcie, kto mi wyjasni poniższy cytat? : Pytanie brzmi: Co znaczy że funkcja zwraca jakąś wartość? I odpowiedź z książki: Znaczy to że wyrażenie będące wywołaniem tej funkcji ma samo w sobie jakąś wartość. Proszę o jakiś prosty przykład, bo ja na przykładach najlepiej łapię ocb. Link do komentarza Share on other sites More sharing options...
OldSkull Kwiecień 13, 2011 Udostępnij Kwiecień 13, 2011 chodzi o to, że można tak zrobić: a = funkcja(b, c); po czymś takim a ma wartość taką jaką zwróciła funkcja() Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »