Главная » Микроконтроллеры
Призовой фонд
на октябрь 2021 г.
1. Рюкзак Mean Well
Компэл
2. Инвертор авто Mean Well 150 Ватт
Компэл
3. Термос MeanWell
Компэл
4. 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

Программатор Pickit3
Программатор Pickit3
Pickit 2 - USB-программатор PIC-микроконтроллеров Автомобильный GPS-трекер с GSM/GPRS и дистанционным управлением
вверх