Forum: Mikrocontroller und Digitale Elektronik STM32: DAC bringt keine Ausganagsspannung


von Dominic (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen, ich versuche aktuell den DAC eines STM32F303 in Betrieb 
zu nehmen, doch leider bekomme ich am Ausgang (PA4) kein Signal.

Die Initialisierung kommt von CubeMX
1
/* DAC1 init function */
2
static void MX_DAC1_Init(void)
3
{
4
5
  DAC_ChannelConfTypeDef sConfig;
6
7
    /**DAC Initialization 
8
    */
9
  hdac1.Instance = DAC1;
10
  if (HAL_DAC_Init(&hdac1) != HAL_OK)
11
  {
12
    Error_Handler();
13
  }
14
15
    /**DAC channel OUT1 config 
16
    */
17
  sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
18
  sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
19
  if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_1) != HAL_OK)
20
  {
21
    Error_Handler();
22
  }
23
24
}

und ich steuere ihn wie folgt an
1
if (HAL_DAC_Start(&hdac1, DAC_CHANNEL_1) != HAL_OK) {
2
        printf("HAL_DAC_Start failed");
3
    }
4
5
    if (HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_1, DAC_ALIGN_8B_R, 0xFFF) != HAL_OK) {
6
        printf("HAL_DAC_SetValue failed");
7
    }

Hat jemand eine Idee?

von Gebhard (Gast)


Lesenswert?

Hast du den Ausgangspin richtig konfiguriert?
Hast du die richtigen Clocks eingeschaltet?

Sieht man hier nicht.

Grüsse

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Der DAC vom STM32F103 hat mWn. einen Stromausgang. Klemm mal nen R vom 
DAC Out gegen GND, und miss noch einmal. Später brauchst dann nen OPV.

von Dominic (Gast)


Angehängte Dateien:

Lesenswert?

Oh man, das ist ja jetzt ein Scherz jetzt... Ich glaube ich habe am 
falschen Pin gemessen (kann es jetzt leider nicht überprüfen, da ich 
gerade kein Oszi da habe). Dieser Arduino-Müll...

Clocks müssten alle da sein. Auch wenn CubeMX teilweise vllt noch ein 
paar Bugs hat, funktioniert der Clockgenerator eig ganz gut.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Irgendwie bergen die HALs ein grosses Problem. Der Code wird 
unübersichtlich kompliziert, und keiner beschäftigt sich mehr mit dem 
Manual...

von Dominic (Gast)


Lesenswert?

Ja, ich gebe dir schon recht, aber habe mich auch mit den Manuals 
beschäftigt und die Register verglichen. Möchte allerdings CubeMX nicht 
mehr missen. Bin noch nicht so erfahren und man vergisst doch ziemlich 
schnell Kleinigkeiten, das passiert bei CubeMX halt nicht. Bis man nur 
letztendlich mal eine Adresse oder ein Register gefunden hat muss man 
sich durch 10 Definitions klicken...

von Dominic (Gast)


Lesenswert?

Ich meinte oben übrigens, dass der mit A4 bezeichnete Pin, nicht dem Pin 
PA$ des Controllers entspricht...

von Random .. (thorstendb) Benutzerseite


Lesenswert?

> Bis man nur letztendlich mal eine Adresse oder ein Register gefunden hat muss 
man sich durch 10 Definitions klicken...

CMSIS Headerfile:
typedef struct + adresse. Kompakter gehts nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.