Turinys:

„Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine“: 6 žingsniai
„Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine“: 6 žingsniai

Video: „Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine“: 6 žingsniai

Video: „Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine“: 6 žingsniai
Video: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, Lapkritis
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 requiredários para desenvolver aplicações analógicas usando Dragonboard 410c ir Linker Sprite Mezzanine.

1 žingsnis: reikalavimai:

Reikalingi reikalavimai:

Plataforma de desenvolvimento (Tikslas):

  • „Dragonboard 410c“;
  • „Linker Sprite Mezzanine“;
  • „Linux Linaro“pagrindinė „Debian“versija 17.04.1;
  • Įkrovos vaizdas com SPI habilitado;
  • Biblioteca Libsoc.

2 žingsnis: „Como Funciona“ir „Comunicação Analógica Entre Dragonboard 410c E Linker Sprite Mezzanine“

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

O „Linker Sprite Mezzanine“yra lustų ADC integruotas elementas, leidžiantis analizuoti „Dragonboard 410c“.

Naudodami ADC lustą naudokite MCP3004 ir „Dragonboard 410c“sąsają su SPI sąsaja.

3 žingsnis: „Habilitando“sąsaja „SPI Na Dragonboard 410c“

Você pode gerar um novo boot image on Dragonboard 410c com SPI habilitado, or usar esse boot image já compilado and com SPI habilitado.

Ar galite paleisti „Dragonboard 410c“įkrovos vaizdą?

„SPI habilitado“, „boot image“arba „boot image“įkrovos vaizdas arba „Dragonboard 410c“įkrovos vaizdas.

4 žingsnis: Biblioteca Libsoc

libsoc ir biblioteka que vamos usar para desenvolver aplicações analógicas with Dragonboard 410c com Linker Sprite Mezzanine.

Kaip priklauso biblioteca libsoc são:

  • statyti-būtina
  • autoconf
  • 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 arba ambiente preparado para instalar a biblioteca libsoc.

5 žingsnis: „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-su-board-configs sudo make install sudo ldconfig/usr/local/lib sudo reboot

6 žingsnis: Pavyzdys: stumdomas reostatas

Pavyzdys: stumdomas reostatas
Pavyzdys: stumdomas reostatas

Atsižvelgiant į tai, kaip slenkantis reostatas yra daugialypis ir prieinamas ADC1 prie „Linker Sprite Mezzanine“, jis yra prospekto vykdomasis arba kodinis.

Kodis:

#įtraukti

#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); if (gpio_cs == NULL) {goto nepavyko; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Nepavyko nustatyti OUTPUT krypties! / n"); nepavyko; } spi *spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Nepavyko gauti spidev įrenginio! / n"); grąžinti 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; o (1) {libsoc_gpio_set_level (gpio_cs, HIGH); miegoti (10); libsoc_gpio_set_level (gpio_cs, LOW); libsoc_spi_rw (spi_dev, tx, rx, 3); libsoc_gpio_set_level (gpio_cs, AUKŠTAS); adc_value = (rx [1] << 8) & 0b1100000000; adc_value | = (rx [2] ir 0xff); printf ("adc_value:%d / n", adc_value); miegoti (1); } nemokamai: libsoc_spi_free (spi_dev); nepavyksta: if (gpio_cs) {libsoc_gpio_free (gpio_cs); } grįžti EXIT_SUCCESS; }

Salve o código como: slide.c

Sudarykite kodą:

gcc slide.c -o slide -lsoc

Projektavimas:

sudo./slide

Rekomenduojamas: