... MCP23S17 i arduino
: niedziela 20 lis 2016, 15:52
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?
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?