Jest to tylko część mojego programu do sterowania matrycą 48 przekaźników, który napisałem i w zasadzie już by działał, gdyby nie drobny problem, a mianowicie:
Z klawiatury wpisuję liczbę dwucyfrową od 01-48(nazwaną w programie NUMER), po czym zostaje wysłany po szynie I2C adres układu dekodującego i liczba ustawiająca port 8-bitowy układu PCF8574FP, w efekcie przyciąga odpowiedni przekaźnik.
Adres i cyfra ustawiająca porty mają być pobierane z tablicy, na razie do celów próbnych 8 NUMERów danych,docelowo 48.
Oto fragment programu z tablicą:
Zasada działania:
z dwóch zmiennych Digit1 i Digit2 tworzy się mój numer (bo z klawiatury wpisuję np. 0(digit1) i 6(digit2)), czyli NUMER 06 (zarazem numer przekaźnika który ma przyciągnąć).
Teraz program ma pobrać dane z tabeli nazwanej NUMER6.
I tu jest problem, bo NUMER jest zmienną (od 1-48), a w tablicy jest NUMERx i program nie zna tych numerów. Czyli wyobrażam sobie że polecenie musiałoby jakoś tak wyglądać:
I = Lookup(0 , Numer(n))
Z = Lookup(1 , Numer(n))
(n) czyli NUMER z tablicy.
Kombinowałem już różnie z nawiasami u góry i poniżej w tablicy ale jakoś kicha.
Dodam, że jak wpiszę na stałe, np.
I = Lookup(0 , Numer7)
Z = Lookup(1 , Numer7)
to po wklepaniu jakichkolwiek cyfr procedura jest wykonywana i przyciąga wybrany przekaźnik nr.7
Nie wiem,czy problem dobrze i zrozumiale opisałem,proszę pomóżcie koledzy
Z klawiatury wpisuję liczbę dwucyfrową od 01-48(nazwaną w programie NUMER), po czym zostaje wysłany po szynie I2C adres układu dekodującego i liczba ustawiająca port 8-bitowy układu PCF8574FP, w efekcie przyciąga odpowiedni przekaźnik.
Adres i cyfra ustawiająca porty mają być pobierane z tablicy, na razie do celów próbnych 8 NUMERów danych,docelowo 48.
Oto fragment programu z tablicą:
Kod: text
Zasada działania:
z dwóch zmiennych Digit1 i Digit2 tworzy się mój numer (bo z klawiatury wpisuję np. 0(digit1) i 6(digit2)), czyli NUMER 06 (zarazem numer przekaźnika który ma przyciągnąć).
Teraz program ma pobrać dane z tabeli nazwanej NUMER6.
I tu jest problem, bo NUMER jest zmienną (od 1-48), a w tablicy jest NUMERx i program nie zna tych numerów. Czyli wyobrażam sobie że polecenie musiałoby jakoś tak wyglądać:
I = Lookup(0 , Numer(n))
Z = Lookup(1 , Numer(n))
(n) czyli NUMER z tablicy.
Kombinowałem już różnie z nawiasami u góry i poniżej w tablicy ale jakoś kicha.
Dodam, że jak wpiszę na stałe, np.
I = Lookup(0 , Numer7)
Z = Lookup(1 , Numer7)
to po wklepaniu jakichkolwiek cyfr procedura jest wykonywana i przyciąga wybrany przekaźnik nr.7
Nie wiem,czy problem dobrze i zrozumiale opisałem,proszę pomóżcie koledzy