Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Przelaczanie w porcie p1 - rc5

piotrs
-
-
Posty: 48
Rejestracja: 29 kwie 2003, o 04:19

Przelaczanie w porcie p1 - rc5

Postautor: piotrs » 21 lis 2009, o 18:19

Czy jest jakas prosta procedura zeby przelaczac port na przemian przy kazdorazowym przycisnieciu przycisku w pilocie . Gdy raz przycisniety to P=28 a gdy nastepnym razem przycisniemy zeby przelaczylo sie na P=128 . Wiem jak zrobic z pojedynczym wyjsciem :
np.
P1.0=not P1.0 , ale z portem to troche gorzej .
W tej chwili mam cos takiego :


Case 7:
Waitms 100
P1 = 224

jesli ktos ma jakies proste rozwiazanie to z gory dziekuje .

Awatar użytkownika
pikczu
-
-
Posty: 89
Rejestracja: 5 paź 2003, o 19:55
Lokalizacja: Dublin
Kontaktowanie:

Postautor: pikczu » 22 lis 2009, o 14:03

Witam
Chcesz zmieniać stan całego portu czy tylko jednego pinu???
Jeśli jednego pinu to toggle.
Jeśli całego portu to możesz wpisać port = 11111111 żeby był stan wysoki albo zwyczajnie port=0
PS. toggle nie działa na cały port tylko na pin.

piotrs
-
-
Posty: 48
Rejestracja: 29 kwie 2003, o 04:19

Postautor: piotrs » 22 lis 2009, o 17:17

Chodzi mi a zmiane trzech pinow naraz . P1.2 , p1.3, p1.4 lub P1.5 , p1.6 , P1.7 .

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty: 2650
Rejestracja: 24 sty 2005, o 00:39
Lokalizacja: Winny gród

Postautor: pajaczek » 22 lis 2009, o 18:22

Nie chce mi się instalować Bascoma 51, ale google mówi mi że istnieje w min też funkcja XOR. XOR uj ze zmienną mającą ustawione 1 na pozycji, którą chcesz zmienić.

nestor197
-
-
Posty: 13
Rejestracja: 19 sie 2007, o 19:28
Lokalizacja: Małopolska

Postautor: nestor197 » 26 lis 2009, o 20:38

W bascomie aby zmienić stan portu na przeciwny piszesz

Kod: Zaznacz cały

toggle portb.1
a wiec w Twoim przypadku:

Kod: Zaznacz cały

if (tu numer rozkazu z rc5) then toggle portb.1

piotrs
-
-
Posty: 48
Rejestracja: 29 kwie 2003, o 04:19

Postautor: piotrs » 27 lis 2009, o 04:13

Nie moglem znalezc tej komendy XOR. Ja mam jeszcze stary Bascom na 89C2051 .
Toogle tez nie mam bo to chyba tylko w Bascomie AVR .
Narazie wykonalem to w ten sposob , dziala dobrze .

Kod: Zaznacz cały

Case 7: Waitms 100 Flaga_3_diody = Not Flaga_3_diody If Flaga_3_diody = 0 Then P1 = 28 Else P1 = 224 End If
Edit: do oznaczania listingów używamy nie zmiany kolorów, tylko znacznika

Kod: Zaznacz cały

. Ps. Faktycznie XOR został chyba wprowadzony tak jak i wspomniany toggle tylko w BascomAVR. Pajączek.[/color]
Ostatnio zmieniony 27 lis 2009, o 12:54 przez piotrs, łącznie zmieniany 1 raz.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 56 gości