Witam
Na wstępie musze przyznać się do tego, że jestem początkującym w tej dziedzinie elektroniki.
Chciałbym uzyskać kilka funkcji świecenia 4 diod LED.
Problem tkwi w tym że nie mogę znaleźć rozkazu który by zmienił funkcje niezależnie od tego w którym momencie jest dana funkcja. Gdy funkcja jest krótka to nie ma problemu ze zmianą, jednak problem jest gdy funkcja jest dłuższa wtedy musze poczekać aż się skończy i "wstrzelić się" swich-em w jej koniec bo jak nie to funkcja jest wykonywana od początku i ponownie musze czekać na jej zakończenie. Próbowałem na wile sposobów z rozkazem FUNKTION z pod programami ale nie przyniosło to nic pozytywnego
Oto program:
I problem jest przy 5 funkcji ponieważ jest ona dłuższa
Musze przyznać że naprawdę wiele godzin spędziłem przy tym by zrozumieć to i nadal się uczę jednak stoję w tym martwym punkcie juz dłuższy czas, a ja chcę rozwijać się, nie stać
Pozdrawiam i mam nadzieje że ktoś mi pomoże
Proszę umieszczać listingi programów w znacznikach "Code". [c_p]
Na wstępie musze przyznać się do tego, że jestem początkującym w tej dziedzinie elektroniki.
Chciałbym uzyskać kilka funkcji świecenia 4 diod LED.
Problem tkwi w tym że nie mogę znaleźć rozkazu który by zmienił funkcje niezależnie od tego w którym momencie jest dana funkcja. Gdy funkcja jest krótka to nie ma problemu ze zmianą, jednak problem jest gdy funkcja jest dłuższa wtedy musze poczekać aż się skończy i "wstrzelić się" swich-em w jej koniec bo jak nie to funkcja jest wykonywana od początku i ponownie musze czekać na jej zakończenie. Próbowałem na wile sposobów z rozkazem FUNKTION z pod programami ale nie przyniosło to nic pozytywnego
Oto program:
$regfile = "m8def.dat"
$crystal = 8000000
Config Portd = Output
Config Pinb.0 = Input
Dim A As Byte
Przycisk Alias Pinb.0
Set Portb.0
Portd = &B11111111
If Przycisk = 0 Then
Waitms 50
End If
If Przycisk = 0 Then
Waitms 50
End
End If
Do
If Przycisk = 0 Then
Waitms 50
A = A + 1
End If
If A = 1 Then ' Pierwsza funkcja
Portd = &B11111111
Waitms 30
Portd = &B11110000
Waitms 6
Elseif A = 2 Then 'Druga funkcja
Rotate Portd , Left
Waitms 5
Elseif A = 3 Then 'Trzecia funkcja
Rotate Portd , Right
Waitms 10
Elseif A = 4 Then 'Czwarta funkcja
Waitms 7
Portd = &B11111110
Waitms 7
Portd = &B11111101
Waitms 7
Portd = &B11110111
Waitms 7
Portd = &B11111011
Elseif A = 5 Then 'Piąta funkcja
Portd = &B11111110
Waitms 23
Portd = &B11111011
Waitms 23
Portd = &B11110111
Waitms 23
Portd = &B11111101
Waitms 23
Elseif A = 6 Then 'Zapętlenie - powrót do pierwszej funkcji
A = 1
End If
Loop
End
I problem jest przy 5 funkcji ponieważ jest ona dłuższa
Musze przyznać że naprawdę wiele godzin spędziłem przy tym by zrozumieć to i nadal się uczę jednak stoję w tym martwym punkcie juz dłuższy czas, a ja chcę rozwijać się, nie stać
Pozdrawiam i mam nadzieje że ktoś mi pomoże
Proszę umieszczać listingi programów w znacznikach "Code". [c_p]
