PIC32 – SPI

Views: 790


В PIC32MX795F512H доступно 3 SPI это SPI2, SPI3, SPI4.

Cat_SPI_01схема в PDF 

Значок

PIC32 – SPI - схема подключения 45.28 KB 288 downloads

PIC32 – SPI - схема ...

Настройка SPI модуля сводиться к следующим параметрам, например, для SPI2 для работы со светодиодами APA102, в этом варианте нам требуются только две линии линия данных и линия синхронизации.

Выключим модуль (если он был включен)

//
SPI2CON=0;                          // выключить SPI
//

Выберем тип буфера, 0 – обычный или 1-расширенный, в расширенном режиме в зависимости от того какой раз мер данных мы получаем разную глубину FIFO. Если размер данных 8 бит, то получаем 16 буферов, приема передачи в отделенности, 16 бит – 8 байт, если 32 бит – 4 байта в каждом буфере.

//
SPI2CONbits.ENHBUF=1;               // Расширенный буфер
//

Настраиваем длину данных, в нашем случае 8 бит

//
SPI2CONbits.MODE32=0;               // 0 - 8-bit - 16 буферов
//

Задаем режим работы модуля

//
SPI2CONbits.MSTEN=1;                // 1 = Master mode
//

Задаем параметры шины синхронизации

//
SPI2CONbits.CKP=1;                  // пассивный уровень шины CLOCK высокий
SPI2CONbits.CKE=0;                  // данные передаются от активного к пассивному уровню пассивного к активному уровню
//

Задаем тактовую частоту шины

//
SPI2BRG = 15;                       // 2,5MHz для 80 MHz
//

Включаем модуль в работу

//
SPI2CONbits.ON=1;                   // Включить модуль
//

В общем виде

// настройка SPI
    SPI2CON=0;                          // выключить SPI
    SPI2CONbits.ENHBUF=1;               // Расширенный буфер
    SPI2CONbits.MODE32=0;               // 0 - 8-bit - 16 буферов
    SPI2CONbits.MSTEN=1;                // 1 = Master mode
    SPI2CONbits.CKP=1;                  // пассивный уровень шины CLOCK высокий
    SPI2CONbits.CKE=0;                  // данные передаются от активного к пассивному уровню пассивного к активному уровню
    SPI2BRG = 15;                       // 2,5MHz для 80 MHz
    SPI2CONbits.ON=1;                   // Включить модуль
//

Если необходимо работать с прерывания можно настроить

//
    SPI2CONbits.STXISEL=0b00;         //
    IFS1bits.SPI2TXIF = 0;            // сбросить флаг прерывания TX
    IEC1bits.SPI2TXIE = 1;            // разрешить прерывания от TX
    IPC7bits.SPI2IP = 3;              // приоритет 3
    IPC7bits.SPI2IS = 0;              // субприоритет уровень 0
//


Это может быть интересно


  • Светодиоды со встроенным драйвером WS2812BСветодиоды со встроенным драйвером WS2812B
    Views: 1046 Производитель http://www.world-semi.com Краткое описание продукции фирмы Каталог продукции” catcatcat_ws_19 catcatcat_ws_15 catcatcat_ws_11 catcatcat_ws_07 catcatcat_ws_03 catcatcat_ws_18 catcatcat_ws_14 catcatcat_ws_10 catcatcat_ws_06 catcatcat_ws_02 catcatcat_ws_05 catcatcat_ws_09 catcatcat_ws_13 catcatcat_ws_17 catcatcat_ws_16 catcatcat_ws_12 catcatcat_ws_08 catcatcat_ws_04 catcatcat_ws_01 This jQuery …
  • Проект с использованием MCC часть 09Проект с использованием MCC часть 09
    Views: 1051   Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая …
  • Дисплей KD035C-3A подключение и управлениеДисплей KD035C-3A подключение и управление
    Views: 848 Дисплей KD035C-3A производиться компанией SHENZHEN STARTEK ELECTRONIC TECHNOLOGY CO.,LTD Характеристики Параметр Спецификация Единицы измерения Размер дисплея 70.08(H)*52.56(V) (3.5inch) mm Тип дисплея TFT active matrix Цветовая гамма 65K/262K colors Разрешение …
  • Акриловый корпус для платы ch-4000Акриловый корпус для платы ch-4000
    Views: 865 Плата ch-4000 подходит для монтажа в корпуса на дин рейку, но для домашней автоматики необходимо что-то другое, поэтому был разработан корпус из акрила который позволит создавать настольные и настенные устройства. Корпус …
  • Altium Designer – подготовка документации для производства и сборки печатных платAltium Designer – подготовка документации для производства и сборки печатных плат
    Views: 4000 В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем …
  • Проект с использованием MCC часть 04Проект с использованием MCC часть 04
    Views: 1319 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
  • LED драйвер TM1639LED драйвер TM1639
    Views: 2473 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    Views: 1818 http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG.
  • ESP8266 применение в проектахESP8266 применение в проектах
    Views: 3781 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
  • PIC18 – модуль DMAPIC18 – модуль DMA
    Views: 1362 Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки …


Поделись этим!