Forum: Mikrocontroller und Digitale Elektronik STM32F4 Timer Burst bei Trigger


von Walt N. (belayason)


Angehängte Dateien:

Lesenswert?

Guten Morgen,
ich arbeite mit einem STM32F411RE und möchte ein 40kHz Signal auf einen 
GPIO ausgang geben. Hierfür habe ich einen Timer auf diese Frequenz 
konfiguriert. Bis jetzt habe ich in der Pulsefinished callback Funktion 
einen GPIO getriggert. Jetzt möchte ich aber zusätzlich ein Startsignal 
nutzen um diesen 40kHz burst zu senden und nicht kontinuierlich wie bis 
jetzt. Ich bin mir nicht sicher wie genau ich das umsetzen soll. Kann 
ich vielleicht einfach in einer Funktion die nach dem Start Trigger 
Signal aufgerufen wird, den Ausgang toggeln?
1
    void PM(void)
2
     {
3
       GPIOA->BSRR = (1<<24);; 
4
      for(int p=0;p<=40;p++)
5
       { 
6
        if(TIM2->SR & 0x01) 
7
        GPIOA->ODR ^= (1<<8);            //Toggle output GPIOA PA8 
8
      } 
9
      GPIOA->BSRR = (1<<24);
10
    }

Hier habe ich versucht einen Ausgang zu toggeln mit Hilfe des Update 
interrupt flag des TIM2 registers. Ich dachte das triggert genau mit den 
40kHz, ist aber leider nicht der Fall. Im Anhang sieht man (gelb) das 
Startsignal und (blau) den GPIO. Dieser Trigger nicht mir den 40kHz und 
hat zwischen drin noch lange Pausen. Jemand vielleicht einen Tipp?

: Bearbeitet durch User
von Physik Physik (Gast)


Lesenswert?

Walt N. schrieb:
> scope_4.png

Bei der Art und Weise, digitale Signale zu messen besteht leider
noch Nachholbedarf bzw. ist noch Luft nach oben.

Stichwort: Masseverbindung.
Irgendwann fällt dir dieses Thema mal knallhart auf die Füsse.

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.