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

MPLAB® Harmony - или как это просто! Часть 2. Схема подключения 155.12 KB 480 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 40 downloads
MPLAB® Harmony - или как это просто! Часть 2. Демопроект...В этой главе главное была задача работа на результат и он получен, как? Это пока не важно, но что не так, читайте в Часть третья – копнём немного глубже.
Это может быть интересно
Altium Designer – подготовка документации для производства и сборки печатных плат
Views: 3701 В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем …ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
Views: 2435 На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11 самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств …Датчик контроля протечки воды ch-c0020
Views: 1964 Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с …Униполярный шаговый двигатель – часть 2
Views: 813 В этой части только итог и версия 2.0 универсальной, которая позволяет управлять шаговым двигателем во всех трех режимах и 3.0 специальной библиотеки только для одного полушагового режима. В …Ultrasonic Level Meters – ULM –53L
Views: 717 Измерение расстояния при помощи ультра звукового датчика ULM–53L–10. Диапазон измерения от 0,5 м до 10 м, полностью пластмассовый излучатель PVDF, механическое соединение фланцем из полиэтилена HDPE (исполнение “N”) Характеристики …VU Meter Tower ART
Views: 1611 Стерео индикатор уровня аудио сигнала. Компактность и удобство проектирования устройств на светодиодах WS2812B, а также легкость реализации алгоритма родило идею созданию своей конструкции. В этом проекте я предоставлю …ESP8266 применение в проектах
Views: 3609 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …Самый простой диммер для светодиодного освещения
Views: 3046 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …PIC18 – модуль DMA
Views: 1181 Введение Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной обработки …Проект с использованием MCC часть 02
Views: 2308 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
Комментарии