Данная библиотека позволяет управлять микросхемой 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 и отдельная библиотека для использования в других проектах. Автор оригинала статьи просит задавать вопросы на его сайте на немецком или английских языках.
Прикрепленные файлы:
- MAX5250.pdf (757 Кб)
- ub_stm32f4_spi_max5250_v100_rus.rar (5 Кб)
- Demo_16_SPI_MAX5250_rus.rar (175 Кб)