Daftar Isi:

Desenvolvendo Aplikasi Analógicas Untuk Dragonboard 410c Com Linker Sprite Mezzanine: 6 Langkah
Desenvolvendo Aplikasi Analógicas Untuk Dragonboard 410c Com Linker Sprite Mezzanine: 6 Langkah

Video: Desenvolvendo Aplikasi Analógicas Untuk Dragonboard 410c Com Linker Sprite Mezzanine: 6 Langkah

Video: Desenvolvendo Aplikasi Analógicas Untuk Dragonboard 410c Com Linker Sprite Mezzanine: 6 Langkah
Video: Самобалансирующийся бот и комплект для домашнего наблюдения, автор: Маниваннан Садхасивам, инженер по применению, Linaro 2024, Juli
Anonim
Desenvolvendo Aplikasi Analógicas Untuk Dragonboard 410c Com Linker Sprite Mezzanine
Desenvolvendo Aplikasi Analógicas Untuk Dragonboard 410c Com Linker Sprite Mezzanine

Daftar untuk mendapatkan lebih banyak akses ke aplikasi yang diperlukan untuk menganalisis aplikasi Dragonboard 410c dan Linker Sprite Mezzanine.

Langkah 1: Pra Persyaratan:

Os pré requisitos são:

Plataforma de desenvolvimento (Target):

  • papan naga 410c;
  • Linker Sprite Mezzanine;
  • Linux Linaro baseado dan Debian 17.04.1;
  • Boot image com SPI habilitado;
  • Biblioteca Libsoc.

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

Como Funciona a Comunicação Analógica Masuk Dragonboard 410c E Linker Sprite Mezzanine
Como Funciona a Comunicação Analógica Masuk Dragonboard 410c E Linker Sprite Mezzanine

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

Chip ADC digunakan dan MCP3004 berkomunikasi dengan Dragonboard 410c pada antarmuka SPI.

Langkah 3: Antarmuka Habilitando SPI Na Dragonboard 410c

Pilih gambar boot untuk Dragonboard 410c com SPI habilitado, atau gunakan gambar boot esse já compilado e com SPI habilitado.

Como fleshar atau boot image di Dragonboard 410c?

Dapatkan boot image dari SPI habilitado, atau dekati gambar boot dengan Dragonboard 410c.

Langkah 4: Biblioteca Libsoc

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

Sebagai dependências da biblioteca libsoc são:

  • membangun-penting
  • autoconf
  • pembuat mobil
  • libtool-bin
  • pkg-config
  • python-dev

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

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

Langkah 5: Instalando Libsoc Na Dragonboard 410c

Seguem sebagai 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

Langkah 6: Contoh: Geser Rheostat

Contoh: Geser Rheostat
Contoh: Geser Rheostat

Pertimbangkan untuk memulai Sliding Rheostat dan pasang untuk porta ADC1 lakukan Linker Sprite Mezzanine, siga os próximos passos para executar o código.

Kodigo:

#termasuk

#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_nilai; gpio *gpio_cs; libsoc_set_debug(0); gpio_cs = libsoc_gpio_request(GPIO_CS, LS_SHARED); if(gpio_cs == NULL) { gagal; } libsoc_gpio_set_direction(gpio_cs, OUTPUT); if(libsoc_gpio_get_direction(gpio_cs) != OUTPUT){ printf("Gagal menyetel arah ke OUTPUT!\n"); harus gagal; } spi *spi_dev = libsoc_spi_init(0, 0); if(!spi_dev){ printf("Gagal mendapatkan perangkat spidev!\n"); kembali EXIT_FAILURE; } libsoc_spi_set_mode(spi_dev, MODE_0); libsoc_spi_get_mode(spi_dev); libsoc_spi_set_speed(spi_dev, 10.000); 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, TINGGI); tidur(10); libsoc_gpio_set_level(gpio_cs, RENDAH); libsoc_spi_rw(spi_dev, tx, rx, 3); libsoc_gpio_set_level(gpio_cs, TINGGI); adc_value = (rx[1]<<8)&0b1100000000; adc_value |= (rx[2]&0xff); printf("nilai_adc:%d\n", nilai_adc); tidur(1); } gratis: libsoc_spi_free(spi_dev); gagal: if(gpio_cs) { libsoc_gpio_free(gpio_cs); } mengembalikan EXIT_SUCCESS; }

Salve o codigo como: slide.c

Kompilasi atau kode:

gcc slide.c -o slide -lsoc

Jalankan atau proyek:

sudo./slide

Direkomendasikan: