Hallo, ich versuche gerade den DAC1 in einem STM32F103 zu nutzen, dazu verwende ich die Lib von ST, leider klappt es nicht, andere Dinge wie USART,GPIO und so funktionieren. Hat jemand ein funktionierendes Programm, dass er mir zeigen könnte oder eine Quelle in der der DAC ausführlicher beschrieben wird als im Reference Manual. Hoffe, dass ich hier im richtigen Forum bin. Im Anhang die Funktion, die ich aus der Beispiel Lib zusammengeklickt habe, die nicht funktioniert :( , natürlich rufe ich diese Funktion auch auf, kann auch den kompletten Code posten wenn es hilft.
Lass das SW-Trigger Cmd weg. Einfach den Wert schreiben reicht aus. Beim initialisieren auch nicht SW Trigger einstellen. So hat es bei mir funktioniert. Weiß nur nicht mehr, ob es der Code unten war. Must du probieren.
1 | /* DAC channel1 Configuration */
|
2 | DAC_InitStructure.DAC_Trigger = DAC_Trigger_None; |
3 | DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; |
4 | DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bits8_0; |
5 | DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; |
6 | DAC_Init(DAC_Channel_1, &DAC_InitStructure); |
7 | |
8 | /* Enable DAC Channel1: Once the DAC channel1 is enabled, PA.04 is
|
9 | automatically connected to the DAC converter. */
|
10 | DAC_Cmd(DAC_Channel_1, ENABLE); |
11 | |
12 | /* Set DAC Channel1 DHR12L register */
|
13 | DAC_SetChannel1Data(DAC_Align_12b_L, 0x7FF0); |
14 | |
15 | DAC_SetChannel1Data(DAC_Align_8b_R, 123); |
Ich sehe gerade, dass du auch DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_Noise; eingestellt hast. Möchtest du Noise erzeugen? Sonst ist das auf jedenfall falsch. Es gibt auch funktionierenden Beispielcode, der der Lib von ST beiliegt. Den hatte ich als Grundlage benutzt. Gruß 900ss
Hallo, wenn ich Zuhause bin werde ich den Code testen, den Code, den ich geposted habe, habe ich aus der Lib von ST, deshalb wundere ich mich ja, dass es nicht funktioniert.
Der Code der Lib, den du gepostet hast, erzeugt ein Noise-Signal. Da hast du ein Beispiel für Noise-Erzeugung gewählt.
Das weiß ich, ich habe das Beispiel genommen, in dem der Noise erzeugt wird, weil es am kürzesten ist. Zuerst habe ich alles(Clock und GPIO) ohne die Lib von ST programmiert, in dem ich per #define und dem Reference Manual die einzelnen Register definiert habe. So habe ich es auch für den DAC gemacht, das klappt aber nicht, also habe ich es per Lib versucht. Um es überschaubar zu halten, habe ich das kürzeste Beispiel aus der Lib genommen. Da ich auf dem Oszi nichts sehe gehe ich davon aus, dass es nicht funktioniert.
endlich gelöst, der verwendete µC hat gar kein DAC, manchmal bin ich zu blöd, aber trotzdem danke für die hilfe.
FlipFlop schrieb: > endlich gelöst, immerhin ;-) > der verwendete µC hat gar kein DAC, manchmal bin ich zu > blöd, aber trotzdem danke für die hilfe. Manchmal schaltet die Gier nach einem Ergebnis einfach das Hirn aus ;-)
Sry, wenn ich den Thread wiederbelebe, aber ich hätte eine Frage zu dem DAC. Hat jemand Angaben zur Temperaturgenauigkeit bzw. zum Temperaturkoeffizienten des DAC gefunden? Bisher habe ich nur den Eintrag für V_Ref (100ppm/°C) gefunden. Gibt es so eine Angabe auch für den DAC? Oder hat jemand Erfahrung damit? Würde jetzt spontan annehmen, dass der DAC nicht genauer sein wird, als V_Ref - also auch mindestens die genannten 100ppm/°C hat. Oder liege ich da eher falsch? Danke für Eure Mühe!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.