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



Teraz jest 1 wrz 2025, o 23:38


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 18 kwi 2014, o 13:07 
Offline
Użytkownik

Dołączył(a): 18 kwi 2014
Posty: 25
Pomógł: 0

Jako że jest to mój pierwszy post na tym forum witam wszystkich serdecznie. Prosiłbym o sprawdzenie mojego rozumowania, a mianowicie: rejestr PINx składa się z bitów: PINx0, PINx1, PINx2 itd. poprzez warunek if(PINx2==1) sprawdzam czy na konkretnym bicie rejestru PINx (w tym przypadku 3 bit) jest ustawiony stan wysoki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2014, o 13:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2013
Posty: 65
Lokalizacja: Łódź
Pomógł: 4

Jesli jeszcze nie czytałeś to polecam:

http://mirekk36.blogspot.de/2012/01/avr-porty-wewy-dir-podstawy.html

Tam jest to bardzo dobrze opisane.

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


PINx - port dla którego chcesz sprawdzać warunek
PDx - bit

_________________
Karkołomne zadanie, ogarnąć C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2014, o 13:39 
Offline
Nowy

Dołączył(a): 16 kwi 2014
Posty: 6
Pomógł: 1

Wszystkie deklaracje PINxy określają tylko numery bitów, które należy sprawdzić aby odczytać stan wejścia y portu x. Bitów w rejestrze PINx.
Jeśli dasz np. taki warunek: if(PIND2==1) zostanie to przetłumaczone na: if(2==1). Czyli uzyskasz warunek, który nigdy nie będzie spełniony i przede wszystkim nie o to przecież chodziło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 kwi 2014, o 14:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Jeszcze jedna ważna sprawa. Warunek if nie musi zawierać równania / wyrażenia:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dlatego jeśli sprawdzasz czy zmienna / stan bitu jest jedynką to wystarczy samą tą zmienną podać w nawiasie.
Dodatkowo IF traktuje jak prawdę KAŻDĄ wartość różną od zero.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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