MPLAB® Harmony – или как это просто! Часть 2.

Views: 2976


Часть вторая – Первая программа на PIC32.


Музыкальная тема к статье, слушаем:

Play


Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из трудоемкого варианта я имею микроконтроллер PIC32MZ1024ECG064 и теперь задача как его подключить и как его запрограммировать. Для программирования и имею PICkit4, который работает быстрее ICD3, поэтому на этапе невозможности приобрести ICD4 рекомендую его или в последнее время в ГАММЕ появился программатор MPLAB Snap по очень интересной цене.

Схема для подключения нашего МК может быть выглядеть так:

Значок

MPLAB® Harmony - или как это просто! Часть 2. Схема подключения 155.12 KB 514 downloads

Схема подключения PIC32MZ1024ECG064. ...

Загрузим MPLABX, создадим проект в формате гармони.

Выберем вариант создания проекта в формате Гармони, и жмем кнопку далее.

В этом окне во первых в строке путь к гармони проверяем путь, он должен указывать на последнюю загруженную версию

В строке расположение проекта надо будут указать где мы желаем хранить наш проект.

Для этого нажмем кнопку и выберите место хранения своего проекта.

В строке имя проекта введите имя, а отрывающемся списке целевое устройство выберите ваш микроконтроллер.

Если вы используете фирменную демоплату, вы можете указать это выбрав из списка доступных.

После нажатия кнопки Финиш будет создан проект с вашим именем. Автоматически будут загружен гармони-конфигуратор. Первое, что необходимо будут сделать, это изменить кодовую страницу тестовых файлов в которой будут создаваться ваш проект. Это необходимо для того, что бы создаваемые в вашем проеты символы иили символьные строки могли быть правильно закодированы.

Нажмите символ настройки проекта.

Выберем общие параметры.

и в выпадающем списке выбреем кодировку Windows-1251 это будет корректно для кириллических шрифтов в Windows.

В параметре конфигурация, выберем версию языка программирования, и тип программатора.

Нажимаем ок, на этом предварительная настройка окончена (процесс компиляции пока касаться не будем). Перейдем в настройки гармонии. Откроем закладку настройка тактового генератора. Тут для начала только посмотрим, периферия настроена на тактовую 100 МГц, процессор на 200 МГц. На практике контроллер можно разгонять до 250, но тут надо смотреть на возможности запуска умножителя, у меня были версии которые стабильно запускались на 220, 230 МГц.

Переключимся на закладку диаграмма выводов. В этой закладке настроим наши выводы RB1 and RB0 на вывод. Клацаем на символе вывода откроется меню.

Выводы с измененными параметрами выделяются цветом и получают функциональное наименование.После этого откроем закладку настройка выводов и посмотрим как настроены наши выводы.

Тут видно возможности настройки портов микроконтроллера (глубоко не копаем). Далее необходимо нажать кнопку генерации проекта, для формирования файлов проекта.Откроется окно в котором конфигуратор спроси, куда необходимо сохранить файл конфигуратор, вы можете изменить место расположения, если в этом нет необходимости просто давим сохранить.

После этого откроется окно с выбором стратегии создания, если пока мы просто нажмем кнопку генерировать и создадим проект.

На это все претензии к гармонии окончены.

После этого в проекте появятся фалы откроем главный файл.

Чтобы проверить что-то у нас получилось или нет, заставим мигать наши светодиоды. Изменим наш проект следующим образом:

#define Clear_WDT() (WDTCONbits.WDTCLRKEY=0x5743)  

#define LED1    LATBbits.LATB0
#define LED2    LATBbits.LATB1



int main ( void )
{
    /* Initialize all MPLAB Harmony modules, including application(s). */
    SYS_Initialize ( NULL );

// настройка таймера 1 - функция интеграции
    PR1 = 0xFFFF;               // 
    T1CONbits.TCKPS = 0b11;     // 0b11 = 1:256 prescale value
    T1CONbits.ON = 1;           // включить

    LED1=1;

    while ( true )
    {
        /* Maintain state machines of all polled MPLAB Harmony modules. */
        SYS_Tasks ( );
        
        Clear_WDT();            // Сброс
        if(TMR1>50000) 
        {
            TMR1=0;
            LED1 = !LED1;
            LED2 = !LED2;
        }

    }

    /* Execution should not come here during normal operation */

    return ( EXIT_FAILURE );
}

Подключаем программатор к демоплате, и проверяем программирование, нашего микроконтроллера. Светодиоды должны попеременно мигать, с частотой близкой 0,5 герца!Выполнение прошивки МК.

Демоплата, которую я использовал для тестирования.

Вот так можно, быстро настроит МК для дальнейшей работы и перейти к самой сути проекта.

Значок

MPLAB® Harmony - или как это просто! Часть 2. Демопроект Гармони. 209.82 KB 42 downloads

MPLAB® Harmony - или как это просто! Часть 2. Демопроект...

В этой главе главное была задача работа на результат и он получен, как? Это пока не важно, но что не так, читайте в  Часть третья – копнём немного глубже.


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


  • LM317 и светодиодыLM317 и светодиоды
    Views: 8204 LM317 и светодиоды статья с переработанная с сайта http://invent-systems.narod.ru/LM317.htm Долговечность светодиодов определяется качеством изготовления кристалла, а для белых светодиодов еще и качеством люминофора. В процессе эксплуатации скорость деградации кристалла …
  • Дисплей KD035C-3A подключение и управлениеДисплей KD035C-3A подключение и управление
    Views: 882 Дисплей KD035C-3A производиться компанией SHENZHEN STARTEK ELECTRONIC TECHNOLOGY CO.,LTD Характеристики Параметр Спецификация Единицы измерения Размер дисплея 70.08(H)*52.56(V) (3.5inch) mm Тип дисплея TFT active matrix Цветовая гамма 65K/262K colors Разрешение …
  • УКВ – радиоприем, часть 2УКВ – радиоприем, часть 2
    Views: 6444 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
  • Altium Designer first projectAltium Designer first project
    Views: 547 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье  Altium Designer my setup system and project structure.  Обратите внимание! Библиотека постоянно обновляется, …
  • Altium Designer – создание рисунков на печатной платеAltium Designer – создание рисунков на печатной плате
    Views: 3602   Для создание рисунков на печатной платы в Altium Designer можно использовать возможность использовать в Altium Designer сторонних скриптов. Мне возможность эта очень понравилась и я решил её расшарить …
  • Стабилизатор тока на SN3350, часть 2Стабилизатор тока на SN3350, часть 2
    Views: 1349 Если вам необходимо разработать устройство с применением мощных светодиодов, то никак не обойтись без применения стабилизатора тока. На настоящий момент стабилизаторы тока являются самым эффективным механизмом, для питания светодиода в течение всего …
  • Цифровой тахометр для автомобиля CH-С3300Цифровой тахометр для автомобиля CH-С3300
    Views: 2086  Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …
  • Development board based on MCU PIC18F47Q84Development board based on MCU PIC18F47Q84
    Views: 2806 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production.
  • VU Meter Tower ART – part 2VU Meter Tower ART – part 2
    Views: 1229 Проект – VU Meter Tower ART получил продолжение в своем развитии. Теперь можно заказать набор деталей из акрила для самостоятельной сборки. В проект корпуса внесено целый ряд доработок, …
  • Сумеречное релеСумеречное реле
    Views: 1666 Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока …




 

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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее

Комментарии

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.