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

Views: 2996


Часть вторая – Первая программа на 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 43 downloads

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

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


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


  • AD9833 – Programmable Waveform GeneratorAD9833 – Programmable Waveform Generator
    Views: 3087 Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я  использовал советский Г3-112, но он себя давно изжил.  Все думал купить …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Views: 2466 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
  • Development board based on MCU PIC18F47Q84Development board based on MCU PIC18F47Q84
    Views: 2825 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production.
  • Интерактивные LedИнтерактивные Led
    Views: 631 Тема проекта   продолжение следует…. Это может быть интересно
  • TM1650 драйвер LED семисегментного индикатораTM1650 драйвер LED семисегментного индикатора
    Views: 18507 UPDATES 2025/10/10 Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd.  Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов …
  • APA102 – светодиоды со встроенным драйвером и SPI интерфейсомAPA102 – светодиоды со встроенным драйвером и SPI интерфейсом
    Views: 3611 APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих …
  • CCP – модуль в режиме Compare на примере PIC18CCP – модуль в режиме Compare на примере PIC18
    Views: 3274 CCP – модуль можно использовать в трех режимах: Capture – позволяет захватывать входной сигнал и определять его параметры (длительность или частоту). Дополнительно управлять внутренними модулями. Compare –  позволяет …
  • Real-time music visualization technologyReal-time music visualization technology
    Views: 387 Music visualization technology in real time (RTMV-technology). Я не музикант і я не маю спеціальної музичної освіти, я інженер розробник вбудованих систем. Але моє хобі розроблення технології візуалізації …
  • ch-светомузыка и AK4113ch-светомузыка и AK4113
    Views: 1528 Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это …
  • Контроллер управления светодиодным освещением с дистанционным управлениемКонтроллер управления светодиодным освещением с дистанционным управлением
    Views: 2077 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще …




 

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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

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

НазадДалее

Комментарии

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

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