Podłączam MCP23S17 do arduino (próbowałem z Mega i Nano), podstawowy układ: MISO, MOSI, CLK, SS NA 53 (w Mega) i 10 lub 8 (w Nano), reset MCP do plusa, adresy do masy, 100nF przy pinach zasilania, czerwona LED przez 4k7 do masy na jednym z wyjść.
Połączenia 10-20cm.
Kod prosty: biblioteka https://github.com/MajenkoLibraries/MCP23S17, domyślna prędkość standardowej biblioteki SPI (4MHz, urządzenie obsługuje do 10MHz przy 5V), w loop ustawianie na przemian zer i jedynek na wejściach, przedzielone delay(100).
Arduino IDE 1.6.12
Próbowałem na dwóch płytkach uniwersalnych (do łączenia wtykanymi kabelkami) i w końcu - chcąc wyeliminować ewentualnie kiepskie połączenia - nawet zlutowałem, ale efekt ten sam: miga nieregularnie, kilka błysków ok, potem chwilę nie świeci albo świeci ciągle, znowu parę błysków itp.
Próbowałem użyć SPI.setClockDivider 128 lub 64, ale nie pomogło.
Zanim zacznę modyfikować bibliotekę (dodając SPI.beginTransaction z mniejszą prędkością i endTransaction - jak zalecane dla SPI w IDE powyżej 1.6) albo pisać własną - zapytam: jakiś pomysł dlaczego nie działa to stabilnie? SPI jednak za szybkie?
... MCP23S17 i arduino
... MCP23S17 i arduino
--
pozdrawiam,
Jarek Andrzejewski
pozdrawiam,
Jarek Andrzejewski
Skorzystałem ze szkicu http://www.spikenzielabs.com/SpikenzieL ... ct_64.html i hula (piny zostawiłem bez zmian)... Ciekawe dlaczego sprzętowy SPI nie działa? Ponieważ prędkość transmisji nie ma znaczenia w moim zastisowaniu (sterowanie przekaźnikami i odczyt stanu łączników), to pewnie na razie tak zostanie.
--
pozdrawiam,
Jarek Andrzejewski
pozdrawiam,
Jarek Andrzejewski