STM32F0(STM32 F0) Pins in high Impedanz(high z) Zustand schalten GLEICHZEITIG

Gast #2784352
Lesenswert?
• ▲
▼
Servus zusammen,


wie der Betreff verrät geht es um den ARM Cortex-M0 von ST. Ich möchte 
die Pins(mind. 2) des Rechenknechts in den hochohmigen Zustand schalten 
und das Zeitgleich...

Derzeit habe ich beim Umschalten einen Versatz von 2µs(mit dem Oszi 
gemessen). Für einen 32biter finde ich das nicht okay.

Ich könnte natürlich diesen Zeitversatz in Software kompensieren, das 
möchte ich aber nicht. Deshalb meine Frage: Habe ich bisher eine 
Möglichkeit übersehen, weiß ich etwas nicht?


Hier noch schnell mein Makro das ich zum Umschalten verwende:

#define GPIO_HighZ()  GPIOA->OTYPER |= (GPIO_1| GPIO_2)
#define GPIO_PushPull()  GPIOA->OTYPER &= ~(GPIO_1 | GPIO_1)

Kann mir jemand weiterhelfen?

Beste Grüße
public
Gast #2784492
Lesenswert?
• ▲
▼
Hallo Public,

public schrieb:
> Derzeit habe ich beim Umschalten einen Versatz von 2µs(mit dem Oszi
> gemessen). Für einen 32biter finde ich das nicht okay.

Wenn Du wie im Makro beschrieben auf das Register draufoderst sollte das 
in einem Rutsch gehen. Schau Dir doch mal den Assemblercode an den der 
Compiler generiert. Nach Deiner Darstellung sollte da ja - bei 24MHz - 
ein Versatz von etwa 48 Takten zusammenkommen was sich nach der 
Beschreibung von Dir nicht erklären lässt.

Grüße
Gast #2785472
Lesenswert?
• ▲
▼
Servus zusammen,


ich hab meinen Fehler gefunden. Der Zugriff auf das OTYPER Register löst 
mindestens einen zweistufigen Prozess aus. Siehe Figure 12 des Reference 
Manuals, bisher habe ich versucht über die OUTPUT CONTROL Einheit 
zwischen PushPull und OpenDrain hin und her zu schalten.

Die Analogfunction liegt aber noch vor/hinter den MOSFETs, also dem 
echten High Z.


Besten Gruß
public

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.