Cuprins:

Dezvoltare Aplicații Analogice Pentru Dragonboard 410c Com Linker Sprite Mezzanine: 6 Steps
Dezvoltare Aplicații Analogice Pentru Dragonboard 410c Com Linker Sprite Mezzanine: 6 Steps

Video: Dezvoltare Aplicații Analogice Pentru Dragonboard 410c Com Linker Sprite Mezzanine: 6 Steps

Video: Dezvoltare Aplicații Analogice Pentru Dragonboard 410c Com Linker Sprite Mezzanine: 6 Steps
Video: De la Hardware la UI: O Călătorie Prin Nivelele de Dezvoltare Software [14] 2024, Noiembrie
Anonim
Dezvoltare Aplicații Analogice Pentru Dragonboard 410c Com Linker Sprite Mezzanine
Dezvoltare Aplicații Analogice Pentru Dragonboard 410c Com Linker Sprite Mezzanine

Essa publicação tem as target will show os passos necessários for developver aplicações analógicas using Dragonboard 410c e Linker Sprite Mezzanine.

Pasul 1: Cerințe preliminare:

Os pré requisits são:

Plataforma de dezvoltare (Target):

  • Dragonboard 410c;
  • Linker Sprite Mezanin;
  • Linux Linaro a folosit Debian 17.04.1;
  • Boot image com SPI habilitado;
  • Biblioteca Libsoc.

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

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

O Linker Sprite Mezzanine tem um chip ADC integrat pentru care módulos analogici pot fi folosiți de către Dragonboard 410c.

O cip ADC folosit este o MCP3004 și comunica cu un Dragonboard 410c através de interface SPI.

Pasul 3: Habilitarea interfeței SPI Na Dragonboard 410c

Você puteți gerar um novo boot image pentru Dragonboard 410c cu SPI abilitat, sau utilizați esse boot image já compilado și com SPI habilitado.

Cum se face o imagine de boot la Dragonboard 410c?

Descărcați o imagine de boot cu SPI abilitat, sau următorul pas este de a fi imagine de boot pe Dragonboard 410c.

Pasul 4: Biblioteca Libsoc

libsoc este o bibliotecă pe care o folosim pentru a dezvolta aplicații analogice în Dragonboard 410c cu Linker Sprite Mezzanine.

Ca dependențe de biblioteca libsoc são:

  • construirea-esențială
  • autoconf
  • automake
  • libtool-bin
  • pkg-config
  • python-dev

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

Repede! Feito isso, avem o ambianță pregătită pentru instalarea bibliotecii libsoc.

Pasul 5: Instalarea Libsoc Na Dragonboard 410c

Urmăriți etapele pentru instalarea bibliotecii 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

Pasul 6: Exemplu: Reostat glisant

Exemplu: Reostat glisant
Exemplu: Reostat glisant

Considerando that o módulo Sliding Rheostat este plugado na porta ADC1 do Linker Sprite Mezzanine, siga os next passos for executar o code.

Cod:

#include

#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); if (gpio_cs == NULL) {go go fail; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Nu s-a setat direcția la OUTPUT! / n"); go go; } spi * spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Nu s-a putut obține dispozitivul spidev! / n"); returnează 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); adormit (10); libsoc_gpio_set_level (gpio_cs, LOW); 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); somn (1); } gratuit: libsoc_spi_free (spi_dev); fail: if (gpio_cs) {libsoc_gpio_free (gpio_cs); } returnează EXIT_SUCCESS; }

Salvați codul ca: slide.c

Compilați codul:

gcc slide.c -o slide -lsoc

Executați un proiect:

sudo./slide

Recomandat: