STM32F103RB TIM2 Remap abschalten

Gast #3256157
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

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