Stm32f401re Nucleo kartı timer hatası çalışmıyor.

Başlatan mustafa704250, 04 Mayıs 2019, 01:10:44

mustafa704250

04 Mayıs 2019, 01:10:44 Son düzenlenme: 04 Mayıs 2019, 01:13:05 mustafa704250 Sebep: Kod görünümünde ki hatalar.
Arkadaşlar hepinize mutlu akşamlar diler. Başlıkta da belirttiğim gibi ilgili kartta şu kodlar ile bile timer'ı bir türlü çalıştıramadım. Yardımlarınızı bekliyorum. Şimdiden teşekkür ederim.

Not: Led A portunun 5. pininde bağlı.

#include "stm32f4xx.h"




GPIO_InitTypeDef led;


TIM_TimeBaseInitTypeDef timer;


NVIC_InitTypeDef nvic;



void config(){

	

	
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOAENABLE);
	
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4ENABLE);
	

	


	
led.GPIO_Mode=GPIO_Mode_OUT;
	
led.GPIO_OType=GPIO_OType_PP;
	
led.GPIO_Pin=GPIO_Pin_5;
	
led.GPIO_PuPd=GPIO_PuPd_NOPULL;
	
led.GPIO_Speed=GPIO_Speed_50MHz;

	
GPIO_Init(GPIOA,&led);

	


	


	
timer.TIM_ClockDivision=TIM_CKD_DIV4 ;
	
timer.TIM_Period=9999;
	
timer.TIM_Prescaler=8399;
	
timer.TIM_RepetitionCounter=0;
	
timer.TIM_CounterMode=TIM_CounterMode_Up;

	
TIM_TimeBaseInit(TIM4, &timer);
	


	


	
TIM_ITConfig(TIM4TIM_IT_Update ,ENABLE);

	


	


	
TIM_Cmd(TIM4ENABLE);

	


	


	
nvic.NVIC_IRQChannel=TIM4_IRQn;
	
nvic.NVIC_IRQChannelPreemptionPriority=0x00;
	
nvic.NVIC_IRQChannelSubPriority=0x00;
	
nvic.NVIC_IRQChannelCmd=ENABLE;

	
NVIC_Init(&nvic);

	







}



int main(void)
{

	
config();


  while (
1)
  {

  }
}



void TIM4_IRQHANDLER(){

	
GPIO_ToggleBits(GPIOA,GPIO_Pin_5);

	
TIM_ClearITPendingBit(TIM4,TIM_IT_Update);




}

iboibo

Timbasestart timpwmstart  isimli fonksiyonlarla pwm başlatılıyor start veriliyor internette araştır.

mustafa704250

Arkadaşlar hatayı tespit ettim. En altta yer alan void TIM4_IRQHANDLER() fonksiyonunu büyük harfle yazdığım için kod düzgün çalışmamış. Bu fonksiyonu void TIM4_IRQHandler() ile değiştirince kod başarılı bir şekilde çalıştı.
Yardım edenlere tekrar teşekkür eder iyi akşamlar dilerim.