INHOUDSOPGAWE:

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

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

Video: Ontwikkeling Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 Stappe
Video: Schizofrenie in ontwikkeling 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 fora desenvolver aplicações analógicas usando Dragonboard 410c e Linker Sprite Mezzanine.

Stap 1: Voorvereistes:

Os pré requisitos são:

Plataforma de desenvolvimento (Doel):

  • Dragonboard 410c;
  • Linker Sprite Mezzanine;
  • Linux Linaro baseer op Debian 17.04.1;
  • Boot image com SPI habilitado;
  • Biblioteca Libsoc.

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

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

O Linker Sprite Mezzanine is geskik vir 'n ADC -integrasie vir 'n analoge analoge funksie van Dragonboard 410c.

Die ADC -chip vir MCP3004 en die kombinasie van 'n Dragonboard 410c -koppelvlak met SPI.

Stap 3: Habilitando Interface SPI Na Dragonboard 410c

U kan 'n nuwe opstartbeeld vir Dragonboard 410c met SPI -funksies gebruik, maar u kan ook 'n opstartbeeld gebruik wat saamgestel is met SPI -funksies.

Hoe kan ek 'n bootbeeld met Dragonboard 410c kry?

Ons kan 'n opstartbeeld met 'n SPI -weergawe kry, of 'n volledige weergawe van 'n bootstyl op Dragonboard 410c.

Stap 4: Biblioteca Libsoc

Ons kan 'n biblioteca gebruik om 'n analoge analoog van Dragonboard 410c met Linker Sprite Mezzanine te gebruik.

As dependências da biblioteca libsoc são:

  • bou-noodsaaklik
  • outokonf
  • outomaties maak
  • 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 instalar a biblioteca libsoc.

Stap 5: Instalando Libsoc Na Dragonboard 410c

Ons kan dit as 'n voorbeeld vir die installering van 'n biblioteca libsoc gebruik:

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-met-board-configs maak sudo her installeer sudo ldconfig/usr/local/lib sudo herlaai

Stap 6: Voorbeeld: gly -reostaat

Voorbeeld: skuifreostaat
Voorbeeld: skuifreostaat

Dink daaraan dat ons 'n skuifstelsel vir ADC1 vir Linker Sprite -mezzanine kan gebruik, maar ook vir die uitvoer van 'n funksie.

Wysiging:

#insluit

#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_waarde; gpio *gpio_cs; libsoc_set_debug (0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); as (gpio_cs == NULL) {misluk; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Kon nie rigting na OUTPUT stel nie! / n"); misluk; } spi *spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Kan nie 'n spidev -toestel kry nie! / n"); stuur EXIT_FAILURE terug; } 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; terwyl (1) {libsoc_gpio_set_level (gpio_cs, HOOG); slaap (10); libsoc_gpio_set_level (gpio_cs, LOW); libsoc_spi_rw (spi_dev, tx, rx, 3); libsoc_gpio_set_level (gpio_cs, HOOG); adc_value = (rx [1] << 8) & 0b1100000000; adc_value | = (rx [2] & 0xff); printf ("adc_waarde:%d / n", adc_waarde); slaap (1); } gratis: libsoc_spi_free (spi_dev); misluk: as (gpio_cs) {libsoc_gpio_free (gpio_cs); } gee EXIT_SUCCESS terug; }

Salve o código como: slide.c

Stel die volgende op:

gcc slide.c -o slide -lsoc

Voer die werk uit:

sudo./glide

Aanbeveel: