Spisu treści:

Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 kroków
Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 kroków

Wideo: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 kroków

Wideo: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 kroków
Wideo: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, Listopad
Anonim
Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine
Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine

Essa publikuje te obiekty, które są najbardziej potrzebne, aby dodać aplikacje analityczne Dragonboard 410c i Linker Sprite Mezzanine.

Krok 1: Wymagania wstępne:

Os pre requisitos são:

Plataforma de desenvolvimento (cel):

  • Dragonboard 410c;
  • Antresola Sprite Linkera;
  • Linux Linaro bazuje na Debianie 17.04.1;
  • Obraz startowy z habilitacją SPI;
  • Biblioteka Libsoc.

Krok 2: Como Funciona i Comunicação Analógica Entre Dragonboard 410c E Linker Sprite Mezzanine

Como Funciona i Comunicação Analógica Entre Dragonboard 410c E Linker Sprite Mezzanine
Como Funciona i Comunicação Analógica Entre Dragonboard 410c E Linker Sprite Mezzanine

O Linker Sprite Mezzanine jest zintegrowany z chipem ADC dla modułów analitycznych, które są używane przez Dragonboard 410c.

O chip ADC jest używany lub MCP3004 i komunikacja z Dragonboard 410c z interfejsem SPI.

Krok 3: Interfejs Habilitando SPI Na Dragonboard 410c

Você pode gerar um nowy obraz rozruchowy dla Dragonboard 410c com habilitado SPI, lub posługuj się obrazem rozruchowym skompiluj i com habilitado SPI.

Como fleshar lub boot image na Dragonboard 410c?

Após o boot image com SPI habilitado, lub więcej passo lub fleshar esse boot image na Dragonboard 410c.

Krok 4: Biblioteca Libsoc

Ta biblioteka jest biblioteką, która jest używana do pobierania aplikacji analitycznych Dragonboard 410c com Linker Sprite Mezzanine.

Jako dependências da biblioteca libsoc são:

  • niezbędne do zbudowania
  • autokonf
  • autoprodukcja
  • libtool-bin
  • konfiguracja-pkg
  • python-dev

sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev

Pronto! Feito isso, temos o ambiente preparado para instalar a biblioteca libsoc.

Krok 5: Instalando Libsoc Na Dragonboard 410c

Seguem as etapas para instalar a biblioteca libsoc:

wget -c https://github.com/jackmitch/libsoc/archive/0.8.2.zipunzip 0.8.2.zip cd libsoc-0.8.2 autoreconf -i./configure --enable-python=2 --enable- board=dragonboard410c --with-board-configs make sudo make install sudo ldconfig /usr/local/lib sudo reboot

Krok 6: Przykład: Reostat przesuwny

Przykład: przesuwny reostat
Przykład: przesuwny reostat

Należy rozważyć, czy moduł Sliding Rheostat jest podłączony do portu ADC1 na antresoli Linker Sprite Mezzanine.

Kodygo:

#włączać

#include #include #include #include #include #include #include #include #include #include "libsoc_spi.h" #include "libsoc_gpio.h" #include "libsoc_debug.h" #define GPIO_CS 18 statyczny uintx[3], t rx[3]; int main() { int adc_value; gpio *gpio_cs; libsoc_set_debug(0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); if(gpio_cs == NULL) { goto nie powiodło się; } libsoc_gpio_set_direction(gpio_cs, WYJŚCIE); if(libsoc_gpio_get_direction(gpio_cs) != WYJŚCIE){ printf("Nie udało się ustawić kierunku na WYJŚCIE!\n"); iść do porażki; } spi *spi_dev = libsoc_spi_init(0, 0); if(!spi_dev){ printf("Nie udało się pobrać urządzenia spidev!\n"); powrót EXIT_FAILURE; } libsoc_spi_set_mode(spi_dev, MODE_0); libsoc_spi_get_mode(spi_dev); libsoc_spi_set_speed(spi_dev, 10000); libsoc_spi_get_speed(spi_dev); libsoc_spi_set_bits_per_word(spi_dev, BITS_8); libsoc_spi_get_bits_per_word(spi_dev); tx[0] = 0x01; tx[1] = 0x80; tx[2] = 0x00; while(1) { libsoc_gpio_set_level(gpio_cs, HIGH); spać(10); libsoc_gpio_set_level (gpio_cs, LOW); libsoc_spi_rw(spi_dev, tx, rx, 3); libsoc_gpio_set_level (gpio_cs, WYSOKI); adc_value = (rx[1]<<8)&0b1100000000; wartość_adc |= (rx[2]&0xff); printf("wartość_adc:%d\n", wartość_adc); sen(1); } wolny: libsoc_spi_free(spi_dev); błąd: if(gpio_cs) { libsoc_gpio_free(gpio_cs); } powrót EXIT_SUCCESS; }

Salve o codigo como: slide.c

Skompiluj kody:

gcc slide.c -o slide -lsoc

Wykonaj projekt:

sudo./slajd

Zalecana: