PIC32 – “Привет мир”

Views: 728


Запуск первой программы при изучении микроконтроллера сводиться, к тому, чтобы начал мигать светодиод. В нашем случае светодиод подключен к Выводу RB13.

Catcatcat_led01

В PIC32 не рекомендуется использовать макросы типа DELAY для формирования задержки, ну это и по большому счету не корректно, по этому для формирования задержки воспользуемся таймером T1. Работу таймера описывать не буду, только уточним, что таймер тактируется от системного генератора частотой 80 МГц (внешний керамический резонатор 8 МГц). Настройка таймера для получения видимых мигание светодиода сводиться к трем строкам:

//-------------------------------------------------------------------------------
    PR1 = 0xFFFF;                           // настройка периода
    T1CONbits.TCKPS = 0b11;                 // 11 = 1:256 prescale value
    T1CONbits.ON = 1;                       // включить
//-------------------------------------------------------------------------------

Управление миганием светодиода поместим в основной цикл и контролировать будем по флагу переполнения таймера.

    while(1)
    {
        if(IFS0bits.T1IF == 1)
        {
           IFS0bits.T1IF = 0;            // сброс флага переполнения
           LATBINV = 0b0001000000000000; // мигание светодиодом
        }
        Clear_WDT();                     // сброс сторожевого таймера
    }

Проект формате MPLABX v2.30 компилятор XC32 v1.34

Значок

PIC32 – "Привет мир" 50.71 KB 257 downloads

Первая программа на PIC32 ...

 


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

  • WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)
    Views: 5443 AT команды связанные с функцией TCP/IP В этом разделе описаны команды которые позволяют устанавливать соединения между серверами и клиентами в сети. Приведено описание команд и примеры их выполнения. …
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
    Views: 861 Модуль I2C Не работает при использовании в стандартной конфигурации MCC. Требует особой нестандартной конфигурации и управления для нормальной работы. Обойти Обход проблемы возможен библиотека см статью. Модуль ADC2 На …
  • Audio-bluetooth modules BK8000L (noname)Audio-bluetooth modules BK8000L (noname)
    Views: 915 Еще один вариант, так сказать недоразумения Audio-bluetooth modules BK8000L (noname). Его отличительной маркировкой служат два отверстия в плате и надпись R2. Отличают его от модулей на чипе BK8000L, …
  • PIC18 – модуль DMAPIC18 – модуль DMA
    Views: 1374 Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09
    Views: 751   September 2023 component base update.  Release updates V.  – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …
  • Система AT команд версии V2.0 для ESP8266 и ESP32Система AT команд версии V2.0 для ESP8266 и ESP32
    Views: 13855 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …
  • CAN – Controller Area NetworkCAN – Controller Area Network
    Views: 1267 Controller Area Network (CAN) первоначально был создан немецким поставщиком автомобильных систем Робертом Бош в середины 1980-х для автомобильной промышленности как метод для обеспечения возможности надежной последовательной связи. Целью было сделать автомобили более надежными, …
  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Views: 1131 Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Views: 1976 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
  • Простой сенсорный регулятор светаПростой сенсорный регулятор света
    Views: 2518 Простой сенсорный регулятор. Проект – 2007 года. Регулятор выполнена на микроконтроллере PIC12F683 и имеет минимальное количество элементов. Выполняет стандартные функции, включение выключение света, изменение яркости, запоминание последнего установленного уровня …

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