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

Реклама ⓘ

STM32F4. Урок 16 - Работа с ЦАП MAX5250 по SPI

Данная библиотека позволяет управлять микросхемой MAX5250 (четыре канала ЦАП) на внешнем модуле по SPI интерфейсу с платы STM32F4.
Для работы с микросхемой так же используется библиотека SPI низкого уровня (SPI2).

Демонстрация работы:

Используемые выводы:

SCK к PB13
MOSI к PB15
MISO к PB14
ChipSelect к PB12

Требования:

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

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

typedef enum {
  DAC_0 = 0,  // Канал ЦАП 0
  DAC_1,      // Канал ЦАП 1
  DAC_2,      // Канал ЦАП 2
  DAC_3       // Канал ЦАП 3
}MAX5250_DAC_t;

Функции:

ErrorStatus UB_MAX5250_Init(void);                          // инициализация MAX5250
void UB_MAX5250_SetDAC(MAX5250_DAC_t kanal, uint16_t wert); // установка значения ЦАП

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

//--------------------------------------------------------------
// File     : main.c
// Datum    : 04.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 MAX5250-Library
// Hinweis  : Diese zwei Files muessen auf 8MHz stehen
//              "cmsis_boot/stm32f4xx.h"
//              "cmsis_boot/system_stm32f4xx.c"
//--------------------------------------------------------------

#include "main.h"
#include "stm32_ub_max5250.h"

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

  UB_MAX5250_Init(); // инициализация MAX5250

  UB_MAX5250_SetDAC(DAC_0,0);    // минимальное значение DAC0(0V)
  UB_MAX5250_SetDAC(DAC_1,341);  // 33% от максимального значения DAC1(1V)
  UB_MAX5250_SetDAC(DAC_2,682);  // 66% от максимального значения DAC2(2V)
  UB_MAX5250_SetDAC(DAC_3,1023); // максимальное значение DAC3(3V)

  while(1)
  {

  }
}

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

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

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

Теги:

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

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

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

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

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

0
Кэп #
А зачем в паре с STM32 юзать внешний цап, который хуже по характеристикам, чем встроенный?
Ответить
0

[Автор]
Rough #
Думаю, на тот случай, если имеющихся 2х каналов недостаточно или их выводы заняты другой периферией.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Конструктор - темброблок на LM1036 Набор начинающего радиолюбителя
вверх