Witam serdecznie
mam problem mianowicie....
mam 3 przyciski na portach
1 - P3.0 ;
2 - P3.1 ;
3 - P3.2 ;
każdy z nich odwołuje sie do pewnej sekwensji Set i Reser pozostałych wolnych portów....
jak zrobić zeby po wciscieciu przycisku 2 przerywał sekrensje np 1 i wykonywał drugą.... a potem przerwał drugą i zaczoł 3 po wciscięciu przycisku 3...
dzieki za wszelką pomoc....
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ęBascom 89C4051 - pętla
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
re
witaj,
dim sekwencja as byte
do
if p3.0 = 0 then sekwencja = 0
if p3.1 = 0 then sekwencja = 1
if p3.2 = 0 then sekwencja = 2
select case sekwencja
case 0 : rob cos tam...
case 1 : rob cos tam 2...
case 2 : rob cos jeszcze innego...
end select
loop
end
dim sekwencja as byte
do
if p3.0 = 0 then sekwencja = 0
if p3.1 = 0 then sekwencja = 1
if p3.2 = 0 then sekwencja = 2
select case sekwencja
case 0 : rob cos tam...
case 1 : rob cos tam 2...
case 2 : rob cos jeszcze innego...
end select
loop
end
no wyszło mi takie coś:
Dim Sekwencja As Byte
Do
If P3.0 = 0 Then Sekwencja = 0
If P3.1 = 0 Then Sekwencja = 1
If P3.2 = 0 Then Sekwencja = 2
select case sekwencja
Case 0 :
Do
Set P1.7
Waitms 700
Set P1.6
Set P1.5
Waitms 700
Set P1.4
Set P1.3
Waitms 1
Loop
Case 1 :
Do
Set P1.7
Waitms 500
Reset P1.7
Waitms 500
Loop
Case 2 :
Do
Set P1.7
Set P3.3
Wait 1
Reset P1.7
Reset P3.3
Wait 1
Loop
End Select
Loop
End
i nadal nie dziala...jest tak ze właczam napiecie i jest ok wybieram sobie jeden przycisk i wykonuje tą sekwencje....ale jak chce zmienic na inną to nie działa.... dopiero po wyłączeniu zasilania i ponownym jego włączeniu...
Dim Sekwencja As Byte
Do
If P3.0 = 0 Then Sekwencja = 0
If P3.1 = 0 Then Sekwencja = 1
If P3.2 = 0 Then Sekwencja = 2
select case sekwencja
Case 0 :
Do
Set P1.7
Waitms 700
Set P1.6
Set P1.5
Waitms 700
Set P1.4
Set P1.3
Waitms 1
Loop
Case 1 :
Do
Set P1.7
Waitms 500
Reset P1.7
Waitms 500
Loop
Case 2 :
Do
Set P1.7
Set P3.3
Wait 1
Reset P1.7
Reset P3.3
Wait 1
Loop
End Select
Loop
End
i nadal nie dziala...jest tak ze właczam napiecie i jest ok wybieram sobie jeden przycisk i wykonuje tą sekwencje....ale jak chce zmienic na inną to nie działa.... dopiero po wyłączeniu zasilania i ponownym jego włączeniu...
re
bo widzisz, dajesz petle do...loop
ta petla jest bez wyjscia
obecnie on ci wchodzi tutaj:
Case 0 :
Do
Set P1.7
Waitms 700
Set P1.6
Set P1.5
Waitms 700
Set P1.4
Set P1.3
Waitms 1
Loop
i wykonuje to w kolko - (po chlopsku-widzi tylko to co w tej petli).
odpal to:
Do
If P3.0 = 0 Then Sekwencja = 0
If P3.1 = 0 Then Sekwencja = 1
If P3.2 = 0 Then Sekwencja = 2
select case sekwencja
Case 0 :
Set P1.7
Waitms 700
Set P1.6
Set P1.5
Waitms 700
Set P1.4
Set P1.3
Waitms 1
Case 1 :
Set P1.7
Waitms 500
Reset P1.7
Waitms 500
Case 2 :
Set P1.7
Set P3.3
Wait 1
Reset P1.7
Reset P3.3
Wait 1
End Select
Loop
End
dziala napewno...
ta petla jest bez wyjscia
obecnie on ci wchodzi tutaj:
Case 0 :
Do
Set P1.7
Waitms 700
Set P1.6
Set P1.5
Waitms 700
Set P1.4
Set P1.3
Waitms 1
Loop
i wykonuje to w kolko - (po chlopsku-widzi tylko to co w tej petli).
odpal to:
Do
If P3.0 = 0 Then Sekwencja = 0
If P3.1 = 0 Then Sekwencja = 1
If P3.2 = 0 Then Sekwencja = 2
select case sekwencja
Case 0 :
Set P1.7
Waitms 700
Set P1.6
Set P1.5
Waitms 700
Set P1.4
Set P1.3
Waitms 1
Case 1 :
Set P1.7
Waitms 500
Reset P1.7
Waitms 500
Case 2 :
Set P1.7
Set P3.3
Wait 1
Reset P1.7
Reset P3.3
Wait 1
End Select
Loop
End
dziala napewno...
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 21 gości