Категории:

  • Программирование


  • Изобразительное искусство


  • Программирование встраиваемых систем


  • Компьютерная графика


  • WEB Разработка


  • Музыка


  • Инженерия


  • iVARIOUS


  • Mobil App


  • STM32. Мигание светодиодов

    STM32F407VG В прошлой статье обсуждалась адресация регистров и их предназначение микроконтроллера STM32F407VG. Код, который зажигает и гасит светодиоды начинается с названия файла общих настроек , а через #define мы указываем более читаемый вид указателям на регистры управления. В случае если таких регистров в программе будет много, целесообразно вынести этот код в отдельный файл, и подключить его следующим видом:

    #include "имя.h"

    Где имя в кавычках обозначает что файл не внутренний а внешний(хотя поместив его в нужные папки редактора Keil он также становится внутренним.)
    Далее следует функция SystemInit(), она заполняет первоначальными настройками STM32F407VG из файла stm32f4xx.h. Без использования разных библиотек - ее присутствие обязательно.
    Функция main запускает пользовательский код, прежде всего идут настройки инициализации уже нужных вам блоков, которые достаточно для запуска программы на первом этапе. В этом примере инициализация начинается с включения тактирования ножек нужного нам порта GPIOD, установкой третьего бита в регистре RCC_GPIO. Далее следуют минимальные нужные настройки регистров управления портом GPIOD, включающие биты для работы ножек в режиме вывода, а также прижатием их к положительному питанию.
    Так как программа микроконтроллера STM32F407VG работает в вечном режиме, создаем постоянное условие true в цикле while(1) занося в него единичку.

    void SystemInit(void)
    {
    }
    int main(void){

    RCC_GPIO|=0x8;
    GPIOD_MODER=0x55000000;
    GPIOD_PUPDR=0x55000000;

    while(1)
    {
    GPIOD_ODR=0xA000;
    for(i=0;i<1000000;i++){};
    GPIOD_ODR=0;
    for(i=0;i<1000000;i++){};
    }
    }



    Читайте больше в категории: Программирование встраиваемых систем

    2016-03-22 13:55:22



    Другие статьи:

    HTML. Таблицы

    Java. Наследование, доступ к переменным класса

    Maya. Нормали и Системы координат

    Maya. Bevel и полезные функции

    JavaScript. Создание, поиск и удаление элементов

    Java

    Android. Thread - потоки

    Maya. Материалы и Mental Ray

    Java. Перегрузка методов и конструктров

    Maya. Sculpt Geometry Tool