Inhaltsverzeichnis:

Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine - Gunook
Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine - Gunook

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

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

Es ist eine Veröffentlichung des Ziels, das die meisten Elemente enthält, die erforderlich sind, um analoge Anwendungen von Dragonboard 410c und Linker Sprite Mezzanine zu erstellen.

Schritt 1: Vorraussetzungen:

Os pré requisitos são:

Plataforma de desenvolvimento (Ziel):

  • Drachenbrett 410c;
  • Linker-Sprite-Zwischengeschoss;
  • Linux Linaro basiert auf Debian 17.04.1;
  • Boot-Image com SPI habilitado;
  • Biblioteca Libsoc.

Schritt 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-Tempum-Chip-ADC-Integration für analoge Module, die auf Dragonboard 410c verwendet werden können.

O-Chip-ADC-Verwendung oder MCP3004 und Kommunikation mit einem Dragonboard 410c-Schnittstelle mit SPI-Schnittstelle.

Schritt 3: Habilitando-Schnittstelle SPI Na Dragonboard 410c

Você pode gerar um novo boot image for Dragonboard 410c com SPI habilitado, oder esse boot image ja kompiliert und com SPI habilitado.

Como Fleshar oder Boot-Image na Dragonboard 410c?

Verwenden Sie ein Boot-Image mit SPI-Kennung, oder ein neues Boot-Image mit Dragonboard 410c.

Schritt 4: Biblioteca Libsoc

Libsoc é a Biblioteca que vamos usar für Desenvolver-Analoganwendungen auf Dragonboard 410c com Linker Sprite Mezzanine.

Als Dependncias da biblioteca libsoc são:

  • bauwesentlich
  • autoconf
  • autom
  • libtool-bin
  • pkg-config
  • Python-Entwickler

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

Sofort! Feito isso, temos o ambiente preparado para instalar a biblioteca libsoc.

Schritt 5: Instalando Libsoc Na Dragonboard 410c

Seguem als 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 --with-board-configs make sudo make install sudo ldconfig /usr/local/lib sudo reboot

Schritt 6: Beispiel: Gleit-Rheostat

Beispiel: Gleit-Rheostat
Beispiel: Gleit-Rheostat

Berücksichtigen Sie, ob Sliding Rheostat installiert werden kann, um ADC1 auf Linker Sprite Mezzanine zu installieren, und geben Sie die Schritte für die Ausführung oder den Code an.

Codigo:

#enthalten

#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 t 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) { goto Fail; } libsoc_gpio_set_direction(gpio_cs, AUSGABE); if(libsoc_gpio_get_direction(gpio_cs) != OUTPUT){ printf("Fehler beim Setzen der Richtung auf OUTPUT!\n"); ich muss scheitern; } spi *spi_dev = libsoc_spi_init(0, 0); if(!spi_dev){ printf("Fehler beim Abrufen des Spidev-Geräts!\n"); EXIT_FAILURE zurückgeben; } 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); schlaf(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); Schlaf (1); } frei: libsoc_spi_free(spi_dev); fehlschlagen: if(gpio_cs) { libsoc_gpio_free(gpio_cs); } EXIT_SUCCESS zurückgeben; }

Salve o código como: slide.c

Kompilieren oder código:

gcc slide.c -o slide -lsoc

Ausführen eines Projekts:

sudo./slide

Empfohlen: