Forum: Mikrocontroller und Digitale Elektronik STM32F103RB TIM2 Remap abschalten


von RomzG (Gast)


Lesenswert?

Hallo zusammen,

ich benutze den STM32F103RB um Impulse zu erzeugen und zu empfangen. Es 
soll eine Halbduplex übertragung über einen Transformator stattfinden. 
D.h. der STM32 muss am selben Pin empfangen und senden können.

Einzeln habe ich das gut hinbekommen. Heißt,
ioh kann senden über PB10 gesteuert durch TIM3 und empfange mit TIM2 
remap auf PB10 und Inputcompare.

Klappt alles ganz super!! Doch ich muss zwischen beiden Modi wechseln 
und das klappt nicht so recht.

Sobald PB10 einmal geremapt wurde scheint er nicht mehr als GPIO 
verwendbar zu sein...

Hier mal meine Versuche das hinzubekommen.

  //TIM2 NVIC configuration
  NVIC_InitTypeDef NVIC_InitStructure;
  NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;
  NVIC_Init(&NVIC_InitStructure);

  TIM_ITConfig(TIM2, TIM_IT_CC3, DISABLE);

  TIM_Cmd(TIM2, DISABLE);

  TIM_DeInit(TIM2);

  GPIO_AFIODeInit();

  GPIO_DeInit(GPIOB);

  GPIO_PinRemapConfig(GPIO_FullRemap_TIM2, DISABLE);

  //Set PB10 GPIO settings to PP
    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    InitTIM3();

Ja mir fällt nichts mehr ein wie das sonst noch klappen könnte...

Vielleicht weiss ja jemand Bescheid.

Grüße
Romz

von RomzG (Gast)


Lesenswert?

Ok hat sich schon erledigt...
War ein Fehler im sende code

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.