Mục lục:

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

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

Video: Desenvolvendo Aplicações Analógicas Para Dragonboard 410c Com Linker Sprite Mezzanine: 6 bước
Video: Warm Up | SancaThon - “Programando com a DragonBoard” | Parte 3 2024, Tháng mười một
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.

Bước 1: Pré Requisitos:

Os pré recisitos são:

Plataforma de desenvolvimento (Mục tiêu):

  • Bảng rồng 410c;
  • Liên kết Sprite Mezzanine;
  • Linux Linaro baseado em Debian 17.04.1;
  • Hình ảnh khởi động com SPI habilitado;
  • Biblioteca Libsoc.

Bước 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 integrationdo para que módulos analógicos possam ser usados através da Dragonboard 410c.

O chip ADC usado é o MCP3004 e comunica com a Dragonboard 410c através da giao diện SPI.

Bước 3: Giao diện Habilitando SPI Na Dragonboard 410c

Hình ảnh khởi động Você pode gerar um novo para Dragonboard 410c com SPI habilitado, hình ảnh khởi động ou usar esse já compilado e com SPI habilitado.

Hình ảnh khởi động của Como Meatboard na Dragonboard 410c?

Após obter o boot image com SPI habilitado, o próximo passo é waphar esse boot image na Dragonboard 410c.

Bước 4: Biblioteca Libsoc

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

Như dependências da biblioteca libsoc são:

  • xây dựng-thiết yếu
  • autoconf
  • tự động hóa
  • libtool-bin
  • pkg-config
  • python-dev

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

Ngay! Feito isso, temos o ambiente preparado para instalar một libsoc biblioteca.

Bước 5: Instalando Libsoc Na Dragonboard 410c

Có vẻ như etapas para instalar một 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

Bước 6: Ví dụ: Trượt Rheostat

Ví dụ: Trượt Rheostat
Ví dụ: Trượt Rheostat

Considerando que o módulo Sliding Rheostat esteja plugado na porta ADC1 do Linker Sprite Mezzanine, siga os próximos passos para executive o código.

Código:

#bao gồm

#include #include #include #include #include #include #include #include #include #include "libsoc_spi.h" #include "libsoc_gpio.h" #include "libsoc_debug.h" #define GPIO_t 18 static uintx 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) {goto fail; } libsoc_gpio_set_direction (gpio_cs, OUTPUT); if (libsoc_gpio_get_direction (gpio_cs)! = OUTPUT) {printf ("Không thể đặt hướng thành OUTPUT! / n"); goto fail; } spi * spi_dev = libsoc_spi_init (0, 0); if (! spi_dev) {printf ("Không tải được thiết bị spidev! / n"); trả về 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, HIGH); us ngủ (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); ngủ (1); } miễn phí: libsoc_spi_free (spi_dev); fail: if (gpio_cs) {libsoc_gpio_free (gpio_cs); } trả về EXIT_SUCCESS; }

Salve o código como: slide.c

Biên dịch o código:

gcc slide.c -o slide -lsoc

Thực hiện o projeto:

sudo./slide

Đề xuất: