-diese Library dient zum ansteuern eines MAX5250 (4fach DA-Wandler) von einem externen Modul das per SPI an den STM32F4 angeschlossen ist.
-es wird die SPI-LoLevel-Library benutzt (mit SPI2)
Beispielbild :
Benutzte Pins :
1 2 3 4 | SCK an PB13 MOSI an PB15 MISO an PB14 ChipSelect an PB12 |
Voraussetzungen :
1 2 | Benutzte Module der CooCox-IDE : GPIO Benutzte Librarys : STM32_UB_SPI2 |
Enumerationen :
1 2 3 4 5 6 | typedef enum { DAC_0 = 0, // DAC-Kanal-0 DAC_1, // DAC-Kanal-1 DAC_2, // DAC-Kanal-2 DAC_3 // DAC-Kanal-3 }MAX5250_DAC_t; |
Funktionen :
1 2 | ErrorStatus UB_MAX5250_Init(void); // zum initialisieren des MAX5250 void UB_MAX5250_SetDAC(MAX5250_DAC_t kanal, uint16_t wert); // zum setzen eines DAC-Wertes |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //-------------------------------------------------------------- // 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(); // Quarz Einstellungen aktivieren UB_MAX5250_Init(); // Init vom MAX5250 UB_MAX5250_SetDAC(DAC_0,0); // DAC0 auf Minimum (0V) UB_MAX5250_SetDAC(DAC_1,341); // DAC1 auf 33% (1V) UB_MAX5250_SetDAC(DAC_2,682); // DAC2 auf 66% (2V) UB_MAX5250_SetDAC(DAC_3,1023); // DAC3 auf Maximum (3V) while(1) { } } |
Hier die Library zum Download :
Hier der komplette CooCox-Projektordner zum Download :