Πίνακας περιεχομένων:

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

Βίντεο: 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
Βίντεο: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, Νοέμβριος
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 needários for desenvolver aplicações analogicas usando Dragonboard 410c e Linker Sprite Mezzanine.

Βήμα 1: Pré Requisitos:

Os pré requisitos são:

Plataforma de desenvolvimento (Target):

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

Βήμα 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 integrado para que módulos analógicos possam ser usados através da Dragonboard 410c.

O chip ADC usado é o MCP3004 και comunica com με Dragonboard 410c através da interface SPI.

Βήμα 3: Habilitando Interface SPI Na Dragonboard 410c

Você pode gerar um novo boot image for Dragonboard 410c com SPI που μπορείτε να χρησιμοποιήσετε, ή να χρησιμοποιήσετε μια εικόνα εκκίνησης για compilado και com SPI habilitado.

Τι θα κάνετε για να ξεκινήσετε την εικόνα στο Dragonboard 410c;

Αποκτήστε μια εικόνα για την εκκίνηση με SPI, μπορείτε να δείτε μια εικόνα εκκίνησης από το Dragonboard 410c.

Βήμα 4: Biblioteca Libsoc

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

Όπως εξαρτώνται από τη βιβλιογραφία του libsoc são:

  • χτίσιμο-ουσιαστικό
  • autoconf
  • αυτοκινητο
  • libtool-bin
  • pkg-config
  • python-dev

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

Γρήγορα! Feito isso, temos o ambiente preparado para instalar a biblioteca libsoc.

Βήμα 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-με-board-configs κάνουν sudo make install sudo ldconfig/usr/local/lib sudo επανεκκίνηση

Βήμα 6: Παράδειγμα: Συρόμενο ρεοστάτη

Παράδειγμα: Συρόμενη Ρεοστάτη
Παράδειγμα: Συρόμενη Ρεοστάτη

Λάβετε υπόψη σας ότι ο Συρόμενος Ρεοστάτης μπορεί να συνδεθεί με τη θύρα ADC1 για Linker Sprite Mezzanine, για να εκτελέσετε ή να εκτελέσετε τον κωδικό σας.

Código:

#περιλαμβάνω

#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 rx [3]; int main () {int adc_value; gpio *gpio_cs; libsoc_set_debug (0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); εάν (gpio_cs == NULL) {πρέπει να αποτύχει? } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Αποτυχία ρύθμισης κατεύθυνσης στο OUTPUT! / n"); πρέπει να αποτύχει? } spi *spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Αποτυχία λήψης συσκευής spidev! / n"); επιστροφή 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; ενώ (1) {libsoc_gpio_set_level (gpio_cs, HIGH); κοιμάται (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); ύπνος (1)? } δωρεάν: libsoc_spi_free (spi_dev); fail: if (gpio_cs) {libsoc_gpio_free (gpio_cs); } επιστροφή EXIT_SUCCESS; }

Salve o código como: slide.c

Compile o código:

gcc slide.c -o slide -lsoc

Εκτέλεση ή προβολή:

sudo./slide

Συνιστάται: