Picproje Elektronik Sitesi

PICPROJE PROGRAMLAMA DERSLERİ => STM32 Örnekleri => Konuyu başlatan: sessiz_roman - 03 Mayıs 2019, 22:10:44

Başlık: Stm32f401re Nucleo kartı timer hatası çalışmıyor.
Gönderen: sessiz_roman - 03 Mayıs 2019, 22:10:44
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_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);



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(TIM4, TIM_IT_Update ,ENABLE);





TIM_Cmd(TIM4, ENABLE);





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);




}
Başlık: Ynt: Stm32f401re Nucleo kartı timer hatası çalışmıyor.
Gönderen: devrecii - 04 Mayıs 2019, 12:13:33
Timbasestart timpwmstart  isimli fonksiyonlarla pwm başlatılıyor start veriliyor internette araştır.
Başlık: Ynt: Stm32f401re Nucleo kartı timer hatası çalışmıyor.
Gönderen: sessiz_roman - 04 Mayıs 2019, 22:11:38
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.