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); // встановлення значення ЦАП
Приклад використання:
//-------------------------------------------------------------- // Файл : main.c // Дата : 04.03.2013 // Версія : 1.0 // Автор : UB // EMail : mc-4u(@)t-online.de // Веб : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.0 // Модуль : CMSIS_BOOT, M4_CMSIS_CORE // Функція : Демонстрація бібліотеки MAX5250 // Зауваження: Ці два файли повинні бути на 8MHz // "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 і окрема бібліотека для використання в інших проектах. Автор оригіналу статті просить задавати питання на його сайті німецькою або англійською мовами.
Прикреплені файли:
- MAX5250.pdf (757 Кб)
- ub_stm32f4_spi_max5250_v100_rus.rar (5 Кб)
- Demo_16_SPI_MAX5250_rus.rar (175 Кб)