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