Innehållsförteckning:

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

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

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

Steg 1: Pré Requisitos:

Os pré requisitos são:

Plataforma de desenvolvimento (mål):

  • Dragonboard 410c;
  • Linker Sprite Mezzanine;
  • Linux Linaro basades till Debian 17.04.1;
  • Startbild med SPI habilitado;
  • Biblioteca Libsoc.

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

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

O Linker Sprite Mezzanine tem um 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 a Dragonboard 410c através da interface SPI.

Steg 3: Habilitando Interface SPI Na Dragonboard 410c

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

Kommer du att få en startbild med Dragonboard 410c?

Du kan se en boot -bild med SPI -versionen, eller en lösenordskod för Dragonboard 410c.

Steg 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:

  • bygg-viktigt
  • autokonf
  • automake
  • 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.

Steg 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-med-board-configs gör sudo make install sudo ldconfig/usr/local/lib sudo reboot

Steg 6: Exempel: Glidande reostat

Exempel: Glidande reostat
Exempel: Glidande reostat

Tänk på att glida Rheostat kan anslutas till ADC1 för Linker Sprite Mezzanine, och det kan också användas för att utföra det.

Kod:

#omfatta

#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); om (gpio_cs == NULL) {misslyckas; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Det gick inte att ställa in riktning på OUTPUT! / n"); gå misslyckas; } spi *spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Det gick inte att hämta spidev -enheten! / n"); returnera 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; medan (1) {libsoc_gpio_set_level (gpio_cs, HIGH); sover (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); sömn (1); } gratis: libsoc_spi_free (spi_dev); misslyckas: om (gpio_cs) {libsoc_gpio_free (gpio_cs); } returnera EXIT_SUCCESS; }

Salve o código como: slide.c

Sammanställ o código:

gcc slide.c -o slide -lsoc

Utför o projeto:

sudo./slide

Rekommenderad: