sobota, 1 listopada 2014

SPI w Raspberry Pi [C / C++]

  1. Zmień zawartość pliku: /etc/modprobe.d/raspi-blacklist.conf na następującą:
    # blacklist spi and i2c by default (many users don't need them)
    #blacklist spi-bcm2708
    blacklist i2c-bcm2708
    blacklist snd-soc-pcm512x
    blacklist snd-soc-wm8804

    Możesz też do tego celu wykorzystać polecenie: sudo raspi-config

  2. Uruchom ponownie RPi lub załaduj moduł jądra ręcznie, poleceniem: sudo modprobe spi-bcm2708. Od tej pory używając polecenia: lsmod powinieneś móc znaleźć moduł jądra o nazwie: spi_bcm2708. Po wykonaniu polecenia ls /devl/spi-0.* powieneś otrzymać wynik:

    /dev/spidev0.0 /dev/spidev0.1

    Pierwsze urządzenie używa sygnału CS(ang. Chip Select) z SPI_CE0_N, drugie z SPI_CE1_N.

  3. Wykonując polecenie: echo -ne "\x01\x02\x03" > /dev/spidev0.0 wyślemy za pomocą SPI liczby kolejno 1,2,3. echo -ne "Ten blog jest fantastyczny!" > /dev/spidev0.0 wyśle ciąg znaków - liczb ASCII - "Ten blog jest fantastyczny!" ;)

  4. Pora na C++ ale C.D.N...