Views: 790
В PIC32MX795F512H доступно 3 SPI это SPI2, SPI3, SPI4.
Настройка 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
//
Это может быть интересно
MPLAB® Harmony – или как это просто! Часть 1.Views: 3850 Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации …
LED драйвер TM1639Views: 2473 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
Altium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PROViews: 540 Назвемо цей варіант поновлення для професіоналів і не тільки. Що нового? 1. Повністю змінено структуру параметрів бази даних компонента. Це дозволило повноцінної роботи Актив ВОМ. Ви відразу отримуєте …
AD9833 – Programmable Waveform Generator – part twoViews: 1935 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
Проект с использованием MCC часть 12-1Views: 1102 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
ESP32-первое знакомствоViews: 7210 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
Цифровой спидометр для автомобиляViews: 10307 Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например, для …
Модуль CAN в микроконтроллерах PIC18Views: 5953 Введение CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …
MPLAB® Code Configurator and EncoderViews: 1643 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …
Altium Designer first projectViews: 530 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье Altium Designer my setup system and project structure. Обратите внимание! Библиотека постоянно обновляется, …
