Sadržaj:

Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine: 6 koraka
Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine: 6 koraka

Video: Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine: 6 koraka

Video: Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine: 6 koraka
Video: Противовирусная настройка иммунитета 2024, Srpanj
Anonim
Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine
Desenvolvendo Aplikacija Analize za Dragonboard 410c Com Linker Sprite Mezzanine

Essa publicação tem como objetivo mostrar os passos neophodários para desenvolver aplicações analógicas usando Dragonboard 410c e Linker Sprite Mezzanine.

Korak 1: Pré Requisitos:

Os pré requisitos são:

Plataforma de desenvolvimento (cilj):

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

Korak 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 čip ADC integrator para que módulos analógicos possam ser usados através da Dragonboard 410c.

O čipu ADC koristi se MCP3004 i komunikacija s Dragonboardom 410c sa sučeljem SPI.

Korak 3: Habilitando sučelje SPI Na Dragonboard 410c

Você pode gerar um novo boot image para za Dragonboard 410c com SPI habilitado, ou usar esse boot image já compilado e com SPI habilitado.

Želite li sliku o podizanju sustava na Dragonboard 410c?

Primijenite obter o sliku za podizanje sustava sa SPI -ja, ili za passo é fleshar esse boot sliku na Dragonboard 410c.

Korak 4: Biblioteca Libsoc

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

Kao ovisnost da biblioteca libsoc são:

  • graditi-bitan
  • autoconf
  • autoproizvodnja
  • libtool-bin
  • pkg-config
  • python-dev

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

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

Korak 5: Instalando Libsoc Na Dragonboard 410c

Seguem kao 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 ponovno podizanje sustava

Korak 6: Primjer: Klizni reostat

Primjer: Klizni reostat
Primjer: Klizni reostat

Razmislite o tome kako klizni Rheostat priključiti dodatak na ADC1 do Linker Sprite Mezzanine, a zatim ga možete primijeniti za izvršitelja ili kodigo.

Código:

#uključi

#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 statički uint8_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, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Nije uspjelo postavljanje smjera na OUTPUT! / n"); goto fail; } spi *spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Dobivanje spidev uređaja nije uspjelo! / n"); povrat 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; while (1) {libsoc_gpio_set_level (gpio_cs, HIGH); uspavan (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); spavati (1); } besplatno: libsoc_spi_free (spi_dev); fail: if (gpio_cs) {libsoc_gpio_free (gpio_cs); } return EXIT_SUCCESS; }

Salve o código como: slide.c

Sastavi o kodigu:

gcc slide.c -o slajd -lsoc

Izvedite projekto:

sudo./ klizač

Preporučeni: