Edytowałem poprzedni post, ale napiszę jeszcze raz:
Poprzedni mój błąd wynikał z faktu, że przyzwyczajony ostatnim czasem do PLC, myślałem o samym zboczu sygnału -|P|-
Jeżeli nie będzie działać wgraj:
spi_transfer(0xFF); i powiedz czy wszystkie świecą, czy nie, to napiszę ostateczną wersję kodu.
Jeżeli:
Kod:
data ^= ~spi_transfer(data);
powoduje migotanie, wszystkich diod, sugeruje to, że jeżeli nie jest wciśnięty żaden przycisk, zwracana jest wartość 0x00.
(dziwi mnie tylko fakt, że wciśnięcie przycisku nie robi różnicy. Powinna dioda zastygnąć albo zaświecona, albo zgaszona.)
Jeżeli to co napisałem 2 linie wyżej to prawda, to jeżeli wyślemy 0xFF, powinny wszystkie diody zgasnąć (według tego, że: data = spi_transfer(data); powoduje świecenie wszystkich diod)
więc spróbuj teraz:
Zdefiniuj 2 nowe zmienne w main'ie: temp = 0 i temp1 = 0xFF;
w pętli:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Aby sprawdzić, która dioda świeci, stosujesz operacje bitowe, tak jak na normalnych wejściach, czyli:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zapisywać w tablicy tego nie musisz