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

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


Реклама ⓘ

STM32F4. Урок 23 - Работа с ЦАП

Данная библиотека позволяет работать с двумя ЦАП (DAC1 и DAC2) процессора STM32F4. При инициализации необходимо только указать сколько ЦАП будет использоваться: один или оба. Если будут использоваться оба, то в функции необходимо указать номер используемого ЦАПа.

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

dac

ЦАП жестко привязан к выводам процессора:

DAC1 к PA4
DAC2 к PA5

Требования:

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

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

typedef enum {
  SINGLE_DAC1 = 0, // использовать только DAC1 на PA4
  SINGLE_DAC2,     // использовать только DAC2 на PA5
  DUAL_DAC         // использовать DAC1 (PA4) и DAC2 (PA5)
}DAC_MODE_t;

Функции:

void UB_DAC_Init(DAC_MODE_t mode);                             // для инициализации ЦАП
void UB_DAC_SetDAC1(uint16_t wert);                            // вывод значения DAC1
void UB_DAC_SetDAC2(uint16_t wert);                            // вывод значения DAC2
void UB_DAC_SetDAC1u2(uint16_t dacwert_1, uint16_t dacwert_2); // для задания обоих значений ЦАП одновременно

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

//--------------------------------------------------------------
// File     : main.c
// Datum    : 23.03.2013
// Version  : 1.0
// Autor    : 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
// Funktion : Demo der DAC-Library
// Hinweis  : Diese zwei Files muessen auf 8MHz stehen
//              "cmsis_boot/stm32f4xx.h"
//              "cmsis_boot/system_stm32f4xx.c"
//--------------------------------------------------------------

#include "main.h"
#include "stm32_ub_dac.h"

int main(void)
{
  uint16_t wert;

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

  // Инициализация настроек ЦАП (DAC-1)
  UB_DAC_Init(SINGLE_DAC1);

  while(1)
  {
	  // генерирование пилообразного сигнала
	  // от 0 до 3,3V на PA4
	  // с периодом T = ~2ms (f = ~500Hz)
	  for(wert=0;wert<4096;wert++) {
		  UB_DAC_SetDAC1(wert);
	  }
  }
}

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

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

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

Теги:

Опубликована: Изменена: 23.12.2014 0 0
Я собрал 0 3
x

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

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

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

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

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

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Осциллограф DSO138 FM-модуль RDA5807M
вверх