Indholdsfortegnelse:

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

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

Video: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 trin
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.

Trin 1: Forespørgsler:

Os pré requisitos são:

Plataforma de desenvolvimento (mål):

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

Trin 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 kan bruges til chip ADC -integrering til en analog analyse, der kan bruges til at bruge Dragonboard 410c.

O chip ADC usado é o MCP3004 e comunica com a Dragonboard 410c atraves and interface SPI.

Trin 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.

Kan du se et boot -billede med Dragonboard 410c?

Du kan se et boot -billede med SPI -muligheder, eller et passord til et bootar -billede med Dragonboard 410c.

Trin 4: Biblioteca Libsoc

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

Som afhængig af biblioteca libsoc são:

  • bygge-væsentligt
  • autokonf
  • bilfremstilling
  • libtool-bin
  • pkg-config
  • python-dev

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

Pronto! Feito isso, temos o ambiente Preparado para installer a biblioteca libsoc.

Trin 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 får sudo til at installere sudo ldconfig/usr/local/lib sudo reboot

Trin 6: Eksempel: Glidende reostat

Eksempel: Glidende reostat
Eksempel: Glidende reostat

Overvej, hvad der skal bruges til at glide Rheostat til plug -in til ADC1 til Linker Sprite Mezzanine, som også kan bruges til en eksekutør.

Kodning:

#omfatte

#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); hvis (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Kunne ikke indstille retning til OUTPUT! / n"); gå fejl; } spi *spi_dev = libsoc_spi_init (0, 0); hvis (! spi_dev) {printf ("Kan ikke hente spidev -enhed! / 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; mens (1) {libsoc_gpio_set_level (gpio_cs, HIGH); sove (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_værdi:%d / n", adc_værdi); søvn (1); } gratis: libsoc_spi_free (spi_dev); mislykkes: hvis (gpio_cs) {libsoc_gpio_free (gpio_cs); } returner EXIT_SUCCESS; }

Salve o código como: slide.c

Kompilér o:

gcc slide.c -o slide -lsoc

Udfør o projeto:

sudo./slide

Anbefalede: