Innholdsfortegnelse:

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

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

Video: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 trinn
Video: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, November
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 publicação tem como objetivo mostrar os passos needsários para desenvolver aplicações analógicas usando Dragonboard 410c e Linker Sprite Mezzanine.

Trinn 1: Forespørsel:

Os pré requisitos são:

Plataforma de desenvolvimento (mål):

  • Dragonboard 410c;
  • Linker Sprite Mezzanine;
  • Linux Linaro basedo på Debian 17.04.1;
  • Boot image med SPI habilitado;
  • Biblioteca Libsoc.

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

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

O Linker Sprite Mezzanine tem for chip ADC integrado for a módulos analógicos possam ser usados através da Dragonboard 410c.

O chip ADC usado é o MCP3004 e comunica com en Dragonboard 410c através da grensesnitt SPI.

Trinn 3: Habilitando Interface SPI Na Dragonboard 410c

Você pode gerar um novo boot image for Dragonboard 410c com SPI habilitado, or usar esse boot image yes compilado e with SPI habilitado.

Vil du vite mer om oppstartsbildet på Dragonboard 410c?

Du kan se et oppstartsbilde med SPI habilitado, eller et passord for å lage et boot -bilde med Dragonboard 410c.

Trinn 4: Biblioteca Libsoc

libsoc é a biblioteca que vamos usar para desenvolver aplicações analógicas on Dragonboard 410c com Linker Sprite Mezzanine.

As dependências da biblioteca libsoc são:

  • bygge-essensielt
  • autokonf
  • automake
  • libtool-bin
  • pkg-config
  • python-dev

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

Pronto! Feito isso, Temos o ambiente preparado para instalar en biblioteca libsoc.

Trinn 5: Instalando Libsoc Na Dragonboard 410c

Seguem as etapas for 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-med-board-configs gjør sudo make install sudo ldconfig/usr/local/lib sudo reboot

Trinn 6: Eksempel: Glidende reostat

Eksempel: Glidende reostat
Eksempel: Glidende reostat

Vurdere at vi kan bruke Sliding Rheostat til å plugge til ADC1 for Linker Sprite Mezzanine, og det kan også brukes til å utføre et eksekveringsprogram.

Informasjon:

#inkludere

#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 static uint8_t tx [3], rx [3]; int main () {int adc_value; gpio *gpio_cs; libsoc_set_debug (0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); hvis (gpio_cs == NULL) {mislykkes; } libsoc_gpio_set_direction (gpio_cs, Output); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Kunne ikke sette retningen til OUTPUT! / n"); mislykkes; } Spi * spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Kan ikke få spidev enheten / n"); returner 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); sover (10); libsoc_gpio_set_level (gpio_cs, LAV); libsoc_spi_rw (spi_dev, TX, rx, 3); libsoc_gpio_set_level (gpio_cs, High); adc_value = (rx [1] << 8) & 0b1100000000; adc_value | = (rx [2] & 0xff); printf ("adc_value:%d / n", adc_value); søvn (1); } gratis: libsoc_spi_free (spi_dev); svikte: if (gpio_cs) {libsoc_gpio_free (gpio_cs); } returner EXIT_SUCCESS; }

Salve o código como: slide.c

Kompilér dokumentasjon:

gcc slide.c -o slide -lsoc

Utfør eller utfør:

sudo./slide

Anbefalt: