Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

STM32F4. Урок 3 - цифровые выходы

Эта библиотека используется для управления цифровыми выходами микроконтроллера. Все используемые выходы должны быть объявлены в в файле "stm32_ub_dig_out.h" и присвоены соответствующие значения настройки порта в файле "stm32_ub_dig_out.c". При инициализации каждому выходу может быть присвоено значение "0" или "1".
В примере показано управление четырьмя выходами: 
PB2, PB7, PC6, PC13.

Требования:

  • Подключаемые модули CooCox-IDE : GPIO.
  • Поддерживаемые библиотеки: отсутствуют.

Перечисления:

 typedef enum 
{
  DOUT_PB2 = 0,  // PB2-Pin
  DOUT_PB7 = 1,  // PB7-Pin
  DOUT_PC6 = 2,  // PC6-Pin
  DOUT_PC13 = 3  // PC13-Pin
}DOUT_NAME_t;

Функции:

void UB_DigOut_Init(void);                               // Инициализация цифровых выходов
void UB_DigOut_Lo(DOUT_NAME_t dig_pin);                  // Установить выход в значение "0"
void UB_DigOut_Hi(DOUT_NAME_t dig_pin);                  // Установить выход в значение "1"
void UB_DigOut_Toggle(DOUT_NAME_t dig_pin);              // Переключить значение выхода
void UB_DigOut_Pin(DOUT_NAME_t dig_pin,BitAction wert);  // Установить заданное значение выхода

Пример использования:

//--------------------------------------------------------------
// File     : main.c
// Datum    : 16.02.2013
// Version  : 1.0
// Author    : UB
// EMail    : mc-4u(@)t-online.de
// Web      : www.mikrocontroller-4u.de
// CPU      : STM32F4
// IDE      : CooCox CoIDE 1.7.0
// Module   : CMSIS_BOOT, M4_CMSIS_CORE
// Function : Demo of Button Library
// Reference: These two files must be written to 8MHz
//              "cmsis_boot/stm32f4xx.h"
//              "cmsis_boot/system_stm32f4xx.c"
//--------------------------------------------------------------

#include "main.h"
#include "stm32_ub_dig_out.h"

void Delay(volatile uint32_t nCount){
  while(nCount--) {
  }
}

int main(void)
{
  SystemInit(); // Инициализация настроек кварца

  UB_DigOut_Init(); // инициализация всех цифровых выходов

  while(1)
  {
    Delay(5000000);
    UB_DigOut_Toggle(DOUT_PB2);
    Delay(5000000);
    UB_DigOut_Toggle(DOUT_PB7);
    Delay(5000000);
    UB_DigOut_Toggle(DOUT_PC6);
    Delay(5000000);
    UB_DigOut_Toggle(DOUT_PC13);
  }
}

Режим работы:

GPIO-пины PB2, PB7, PC6, PC13 определяются как выход (в библиотеке)
Значение уровней выходов переключается циклически.

Библиотека, использованная в примере: stm32_ub_dig_out.

В приложении проект CooCox и отдельная библиотека для использования в других проектах. Автор оригинала статьи просит задавать вопросы на его сайте на немецком или английских языках.

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Макетная плата для пайки (10 шт) FM-модуль RDA5807M
вверх