Բովանդակություն:

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

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

Video: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 Steps
Video: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, Նոյեմբեր
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 needários para desenvolver aplicações analógicas usando Dragonboard 410c e Linker Sprite Mezzanine- ի միջոցով:

Քայլ 1: Նախնական պահանջներ

Os pré requisitos são:

Plataforma de desenvolvimento (Թիրախ):

  • Dragonboard 410c;
  • Linker Sprite միջնահարկ;
  • Linux Linaro baseado em Debian 17.04.1;
  • Boot image com SPI habilitado;
  • Biblioteca Libsoc.

Քայլ 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 módulos analógicos possam ser usados através da Dragonboard 410c:

O chip ADC օգտագործումը կամ MCP3004 և կոմունիկացիան Dragonboard 410c- ի և SPI ինտերֆեյսի միջոցով:

Քայլ 3. Habilitando Interface SPI Na Dragonboard 410c

Você pode gerar um novo boot image- ի համար Dragonboard 410c com SPI- ի օգնությամբ, կամ օգտագործեք այս բեռնախցիկի պատկերը ՝ օգտագործելով և SPI- ի գործառույթը:

Հնարավո՞ր է նկարել Dragonboard 410c- ի պատկերը:

Ներբեռնեք կամ ներբեռնեք պատկերը ՝ SPI- ի միջոցով, կամ մոտավորապես անցյալում կամ ֆլեշարով կբեռնեք պատկերը Dragonboard 410c- ում:

Քայլ 4: Biblioteca Libsoc

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

As dependências da biblioteca libsoc são:

  • կառուցել-էական
  • ավտոկոնֆ
  • մեքենա
  • libtool-bin
  • pkg-config
  • python-dev

sudo apt-get տեղադրել կառուցել-անհրաժեշտ autoconf automake libtool-bin pkg-config python-dev

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

Քայլ 5: 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- տախտակ = dragonboard410c-տախտակի-կազմաձևերով make sudo make install sudo ldconfig/usr/local/lib sudo reboot

Քայլ 6. Աշխատանք. Լոգարիթմական ռեոստատ

Օրինակ ՝ Լոգարիթմական ռեոստատ
Օրինակ ՝ Լոգարիթմական ռեոստատ

Հաշվի առեք, թե ինչպես է լոգարիթմական ռեոստատը թույլատրվում է օգտագործել ADC1- ի մուտքի համար Linker Sprite Mezzanine- ի միջոցով, որն ապահովում է ձեր կատարողականը:

Código:

#ներառում

#ներառել #ներառել #ներառել #ներառել #ներառել #ներառել #ներառել #ներառել #ներառել #ներառել "libsoc_spi.h" #include "libsoc_gpio.h" #include "libsoc_debug.h" #սահմանել GPIO_CS 18 tat [u88, rx [3]; int main () {int adc_value; gpio *gpio_cs; libsoc_set_debug (0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); եթե (gpio_cs == NULL) {goto fail; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Չհաջողվեց ուղղություն դնել OUTPUT! / n"); անհաջողության մատնվել; } spi *spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Չհաջողվեց ձեռք բերել spidev սարք! / n"); վերադարձ 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; մինչդեռ (1) {libsoc_gpio_set_level (gpio_cs, HIGH); քնած (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); քուն (1); } անվճար: libsoc_spi_free (spi_dev); ձախողել. եթե (gpio_cs) {libsoc_gpio_free (gpio_cs); } վերադարձ EXIT_SUCCESS; }

Salve o código como: slide.c

Կազմել կոդիգո:

gcc slide.c -o slide -lsoc

Կատարել նախագիծը

sudo./ սահիկ

Խորհուրդ ենք տալիս: