Inhoudsopgave:

Analoge toepassingen voor Dragonboard 410c Com Linker Sprite Mezzanine - Ajarnpa
Analoge toepassingen voor Dragonboard 410c Com Linker Sprite Mezzanine - Ajarnpa

Video: Analoge toepassingen voor Dragonboard 410c Com Linker Sprite Mezzanine - Ajarnpa

Video: Analoge toepassingen voor Dragonboard 410c Com Linker Sprite Mezzanine - Ajarnpa
Video: Case Analog Devices; toepassing van de proeftuin Smart Maintenance (FlandersMake) 2024, December
Anonim
Desenvolvendo Toepassingen Analoog Para Dragonboard 410c Com Linker Sprite Mezzanine
Desenvolvendo Toepassingen Analoog Para Dragonboard 410c Com Linker Sprite Mezzanine

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

Stap 1: Pré Requisitos:

Benodigde voorwaarden zijn:

Plataforma de desenvolvimento (Doel):

  • Drakenbord 410c;
  • Linker Sprite-tussenverdieping;
  • Linux Linaro gebaseerd op Debian 17.04.1;
  • Boot image com SPI habilitado;
  • Biblioteca Libso.

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

Como Functie en Communicatie Analoog Entre Dragonboard 410c E Linker Sprite Mezzanine
Como Functie en Communicatie Analoog Entre Dragonboard 410c E Linker Sprite Mezzanine

O Linker Sprite Mezzanine tem um chip ADC integrado voor analoge modellen die gebruik kunnen maken van Dragonboard 410c.

O chip ADC gebruikt é o MCP3004 e comunica com een Dragonboard 410c heeft een interface SPI.

Stap 3: Habilitando-interface SPI Na Dragonboard 410c

Zoek een nieuwe opstartafbeelding voor Dragonboard 410c met SPI-gebruikers, of gebruik de opstartafbeelding voor een compilatie en voor SPI-gebruikers.

Como vleesar of boot image op Dragonboard 410c?

Er is een afbeelding van een boot op de SPI habilitado, of een nieuwe afbeelding van een boot op een Dragonboard 410c.

Stap 4: Biblioteca Libsoc

biblioteca que vamos to usar to desenvolver aplicações analógicas on Dragonboard 410c com Linker Sprite Mezzanine.

Als dependências da biblioteca libsoc são:

  • bouwen-essentieel
  • autoconf
  • automerk
  • libtool-bin
  • pkg-config
  • python-dev

sudo apt-get install build-essentiële autoconf automake libtool-bin pkg-config python-dev

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

Stap 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

Stap 6: Voorbeeld: glijdende weerstand

Voorbeeld: glijdende weerstand
Voorbeeld: glijdende weerstand

Overweeg de mogelijkheid om Sliding Rheostat te koppelen aan de porta ADC1 voor Linker Sprite Mezzanine, siga os proximos passos para executar of código.

Code:

#erbij betrekken

#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) { ga mislukken; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if(libsoc_gpio_get_direction(gpio_cs) != OUTPUT){ printf("Kan de richting niet instellen op OUTPUT!\n"); mislukken; } spi *spi_dev = libsoc_spi_init(0, 0); if(!spi_dev){ printf("Kon spidev-apparaat niet ophalen!\n"); retourneer 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, HOOG); uslaap(10); libsoc_gpio_set_level (gpio_cs, LAAG); libsoc_spi_rw(spi_dev, tx, rx, 3); libsoc_gpio_set_level (gpio_cs, HOOG); adc_value = (rx[1]<<8)&0b1100000000; adc_value |= (rx[2]&0xff); printf("adc_value:%d\n", adc_value); slaap(1); } gratis: libsoc_spi_free(spi_dev); mislukken: if(gpio_cs) {libsoc_gpio_free(gpio_cs); } retourneer EXIT_SUCCESS; }

Salve o código como: slide.c

Compileer de code:

gcc slide.c -o slide -lsoc

Voer een project uit:

sudo./slide

Aanbevolen: