STM32L1(51RCT6A) Referenzspannung ein und ausschalten

Gast #6704579
Lesenswert?

Hallo,

ich such mich hier Dumm und Dämlich nach einer vermutlich einfachen 
Lösung.

Beim STM32L0 Schaltet man den Referanzspannungaausgang mit folgenden 
Befehlen ein:
1
        /* ADC Referenzspannung einschalten */
2
  if ( HAL_ADCEx_EnableVREFINT() != HAL_OK )
3

4
  //{/*Error_Handling();*/}
5
  HAL_SYSCFG_VREFINT_OutputSelect(SYSCFG_VREFINT_OUT_PB1);

Da gibs bei den L1 nur Errors in der CubeIDE:

implicit declaration of function 'HAL_ADCEx_EnableVREFINT' 
[-Wimplicit-function-declaration]

SYSCFG_VREFINT_OUT_PB1' undeclared (first use in this function)



Wie geht das bei den L1 Microcontrollern?

ich will einfach nur die 1,22 Volt an PB1 haben :(

Freundliche Grüße und Danke im Voraus
#6704595
Lesenswert?

Da kannst du lange suchen: die Funktion gibt es bei L1 einfach nicht.

Zumindest ist sie in UM1749 für STM32L0 auf S. 89 aufgeführt, in UM1816 
für L1 ist die entsprechende Stelle auf S. 79/80 - ohne die Funktion.

(Das ist das schöne an den STM32 - alle praktisch gleich...)

PS: in UM1816 (L1) S. 106 8.2.1 COMP Peripheral features:
...
6.The comparators also offer the possibility to output the voltage 
reference (VrefInt), used on inverting inputs, on I/O pin through a 
buffer. To use it, refer to macro "__HAL_SYSCFG_VREFINT_OUT_ENABLE()".
#6704646
Lesenswert?

Klaus W. schrieb:
> Da kannst du lange suchen: die Funktion gibt es bei L1 einfach nicht.
> (Das ist das schöne an den STM32 - alle praktisch gleich...)

Wobei man Hardware, HAL und Dokumentation unterscheiden sollte. Mein 
Cube 6.2 kennt VREFOUT für den L151RCT und das RM0038 sagt auch, dass es 
geht. Wahrscheinlich muss man die interne Referenz noch extra 
einschalten:
1
The TSVREFE bit in the ADC_CCR register must be set to enable
2
the internal reference voltage (and also the Temperature sensor).
Angehängte Dateien:
Gast #6705146
Lesenswert?

Bauform B. schrieb:
> The TSVREFE bit in the ADC_CCR register must be set to enable
> the internal reference voltage (and also the Temperature sensor).

Das hat leider nicht geholfen :/

Ich versteh nicht wieso mit Cube MX beim setzen des "Voltage Reference 
out" auch gleich den PB1 oder PB0 als SYS_V_REF_OUT setzt, wenn man mit 
dem Pin dann nichts anfangen kann.

Das muss doch irgendwie gehen.
Gast #6705219
Lesenswert?

So, ich hab jetzt doch noch die Lösung gefunden.
Man muss das hier setzen:

RI->ASCR1 |= RI_ASCR1_CH_9;

bzw

RI->ASCR1 |= RI_ASCR1_CH_8;

Damit wird der entsprechende Schalter zum Pin durchgeschaltet :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren