Orodha ya maudhui:

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

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

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

Hatua ya 1: Pré Requisitos:

Viwango vya juu vya mahitaji ya São:

Plataforma de desenvolvimento (Lengo):

  • Joka 410c;
  • Kiungo Sprite Mezzanine;
  • Linux Linaro baseado em Debian 17.04.1;
  • Picha ya boot com SPI habilitado;
  • Biblioteca Libsoc.

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

Como Funciona ni Comunicação Analógica Entre Joka 410c E Linker Sprite Mezzanine
Como Funciona ni Comunicação Analógica Entre Joka 410c E Linker Sprite Mezzanine

O Linker Sprite Mezzanine tem um chip ADC integratedado for que módulos analógicos possam ser usados através da Dragonboard 410c.

O chip ADC usado ni MCP3004 na comunica com a Dragonboard 410c através da interface SPI.

Hatua ya 3: Habilitando Interface SPI Na Joka 410c

Você pode gerar um novo boot image for Dragonboard 410c com SPI habilitado, ou usar esse boot image na compilado na com SPI habilitado.

Je! Unapenda kituo hiki?

Picha zinazoundwa na picha ya boot na SPI, kwa mfano, picha ya mwili ni picha ya buti na Joka 410c.

Hatua ya 4: Biblioteca Libsoc

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

Kama tegemeo la biblioteca libsoc são:

  • kujenga-muhimu
  • autoconf
  • automake
  • libtool-bin
  • pkg-config
  • chatu-dev

Sudo apt-get install autoconf automake muhimu libtool-bin pkg-config python-dev

Pronto! Feito isso, temos o ambiente maandalizi kwa ajili ya usakinishaji wa biblioteca libsoc.

Hatua ya 5: Instalando Libsoc Na Joka 410c

Seguem as etapas for 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 --able-python = 2 - inayowezekana- bodi = dragonboard410c - na-bodi-configs hufanya sudo kufanya kufunga sudo ldconfig / usr / mitaa / lib sudo reboot

Hatua ya 6: Mfano: Kuteleza Rheostat

Mfano: Kuteleza Rheostat
Mfano: Kuteleza Rheostat

Fikiria kwamba utatelezesha Sliding Rheostat na programu hii kwa ADC1 kwenye Kiunga cha Sprite Mezzanine, ikiwa ni pamoja na kupita kwa njia ya kufanya kazi.

Código:

# pamoja

# pamoja na #jumuisha #jumuisha #jumuisha # pamoja # #jumlisha #jumuisha #jumlisha #jumuisha # pamoja na "libsoc_spi.h" # pamoja na "libsoc_gpio.h" # pamoja na "libsoc_debug.h" #fafanua GPIO_CS 18 static uint8_t t [# rx [3]; int kuu () {int adc_value; gpio * gpio_cs; libsoc_set_debug (0); gpio_cs = libsoc_gpio_request (GPIO_CS, LS_SHARED); ikiwa (gpio_cs == NULL) {goto inashindwa; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); ikiwa (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Imeshindwa kuweka mwelekeo kwa OUTPUT! / n"); goto kushindwa; } spi * spi_dev = libsoc_spi_init (0, 0); ikiwa (! spi_dev) {printf ("Imeshindwa kupata kifaa cha spidev! / n"); kurudi 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; wakati (1) {libsoc_gpio_set_level (gpio_cs, HIGH); kulala (10); libsoc_gpio_set_level (gpio_cs, CHINI); libsoc_spi_rw (spi_dev, tx, rx, 3); libsoc_gpio_set_level (gpio_cs, JUU); adc_value = (rx [1] << 8) & 0b1100000000; adc_value | = (rx [2] & 0xff); printf ("adc_value:% d / n", adc_value); kulala (1); } bure: libsoc_spi_free (spi_dev); shindwa: ikiwa (gpio_cs) {libsoc_gpio_free (gpio_cs); } kurudisha UFAULU; }

Salve o código como: slide.c

Kutunga o código:

gcc slide.c -o slaidi -lsoc

Tekeleza o projeto:

sudo./slide

Ilipendekeza: