Talaan ng mga Nilalaman:

Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 Hakbang
Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 Hakbang

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

Video: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 Hakbang
Video: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, Nobyembre
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

Makakatulong sa iyo na mag-print ng mga tao sa iyong pasilyo para sa pag-ibig ng mga tao sa amin ng Dragonboard 410c at Linker Sprite Mezzanine.

Hakbang 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.

Hakbang 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 sa iyo ay maaari mong gamitin ang mga serbisyong ito mula sa Dragonboard 410c.

O chip ADC usado ay MCP3004 at comunica com ng isang Dragonboard 410c através interface SPI.

Hakbang 3: Habilitando Interface SPI Na Dragonboard 410c

Mag-sign up ng imahe ng boot para sa Dragonboard 410c com SPI habilitado, upang magamit ang imahe ng boot na mag-compile at com na SPI habilitado.

Como fleshar o boot image na Dragonboard 410c?

Nakahadlang sa boot image sa SPI na may kakayahang magamit, o naunang gawin upang mai-boot ang imahe ng Dragonboard 410c.

Hakbang 4: Biblioteca Libsoc

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

Bilang dependências da biblioteca libsoc são:

  • kailangan-build
  • mag-autoconf
  • automake
  • libtool-bin
  • pkg-config
  • python-dev

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

Pronto! Maaari kang mag-imbak sa iyo upang mai-install ang isang biblioteca libsoc.

Hakbang 5: Instalando Libsoc Na Dragonboard 410c

Seguem bilang etapas para i-install ang isang 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 gumawa ng sudo make install sudo ldconfig / usr / local / lib sudo reboot

Hakbang 6: Exemplo: Sliding Rheostat

Exemplo: Sliding Rheostat
Exemplo: Sliding Rheostat

Isaalang-alang ang mga ito sa Sliding Rheostat para sa iyong plug-in sa ADC1 na gawin ang Linker Sprite Mezzanine, upang maipasa ang mga ito sa pagpapatupad ng código.

Código:

# isama

#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 rx [3]; int main () {int adc_value; gpio * gpio_cs; libsoc_set_debug (0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); kung (gpio_cs == NULL) {goto fail; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); kung (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Nabigong itakda ang direksyon sa OUTPUT! / n"); bigo ang goto; } spi * spi_dev = libsoc_spi_init (0, 0); kung (! spi_dev) {printf ("Nabigong makakuha ng spidev device! / n"); ibalik ang 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; habang (1) {libsoc_gpio_set_level (gpio_cs, TAAS); natutulog (10); libsoc_gpio_set_level (gpio_cs, LOW); libsoc_spi_rw (spi_dev, tx, rx, 3); libsoc_gpio_set_level (gpio_cs, TAAS); adc_value = (rx [1] << 8) & 0b1100000000; adc_value | = (rx [2] & 0xff); printf ("adc_value:% d / n", adc_value); pagtulog (1); } libre: libsoc_spi_free (spi_dev); mabibigo: kung (gpio_cs) {libsoc_gpio_free (gpio_cs); } ibalik ang EXIT_SUCCESS; }

Salve o código como: slide.c

Compile o código:

gcc slide.c -o slide -lsoc

Isagawa ang projeto:

sudo./slide

Inirerekumendang: