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 и отдельная библиотека для использования в других проектах. Автор оригинала статьи просит задавать вопросы на его сайте на немецком или английских языках.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован.