STM32F4 Timer Burst bei Trigger

OP #6653350
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?
Angehängte Dateien:

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