Forum: Mikrocontroller und Digitale Elektronik STM32F051 OSC_IN als Output?


von Mach F. (machfax)


Lesenswert?

Hallo

Nach Datenblatt sollte PF0 OSC_IN als digital IO konfiguriert werden 
können. Bei mir geht das nicht, ist dieser PIN nicht Output-fähig (3.3V 
zu liefern)

Danke

von Detlef K. (adenin)


Lesenswert?

Mach Fax schrieb:
> Hallo
>
> Nach Datenblatt sollte PF0 OSC_IN als digital IO konfiguriert werden
> können. Bei mir geht das nicht, ist dieser PIN nicht Output-fähig (3.3V
> zu liefern)
>
> Danke

Hast Du CLK von Port F enabled?

von Mach F. (machfax)


Lesenswert?

Detlef Kunz schrieb:
> Mach Fax schrieb:
>> Hallo
>>
>> Nach Datenblatt sollte PF0 OSC_IN als digital IO konfiguriert werden
>> können. Bei mir geht das nicht, ist dieser PIN nicht Output-fähig (3.3V
>> zu liefern)
>>
>> Danke
>
> Hast Du CLK von Port F enabled?

Ja

void PowerSupplyConfig (void)
{
  GPIO_InitTypeDef   GPIO_InitStructure;

  /* GPIOF Periph clock enable */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF, ENABLE);

  // Config als Digital-Out
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;

  GPIO_Init(GPIOF, &GPIO_InitStructure);

  GPIO_WriteBit (GPIOF, GPIO_Pin_0, Bit_SET);
  GPIO_WriteBit (GPIOF, GPIO_Pin_1, Bit_SET);
}

von Uwe Bonnes (Gast)


Lesenswert?

Mach Fax schrieb:
> Hallo
>
> Nach Datenblatt sollte PF0 OSC_IN als digital IO konfiguriert werden
> können. Bei mir geht das nicht, ist dieser PIN nicht Output-fähig (3.3V
> zu liefern)
>

Die Oszillatorfunktion ist disabled?

Ansosnsten setzte Dich mal mit dem Debugger in das Programm und und 
schau Dir GPIOF an und ueberpruefe MODER, AFR und ODR und manipuliere 
die entsprechenden Bits direkt und schaue, ob Du dadurch Erfolg am Pin 
hast.

von Dirk K. (dekoepi)


Lesenswert?

Bei mir war ein ähnliches Problem (bei einem STM32F030) eine kalte 
Lötstelle. Nachgelötet, ging sofort.
Den Quarz hast du ausgelötet?

Die Standardeinstellung mit SysClk ist zumindest beim F030, internen 
Quarz auf 8 MHz zu verwenden (HSE aus, PLL aus). Da gegebenenfalls mal 
im init-Bereich mit
RCC_DeInit();

aufräumen und diesen Zustand herstellen oder gegebenenfalls einmal 
komplett SysClk konfigurieren.

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.