Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: robikod - 03 Eylül 2020, 16:55:57

Başlık: Systick_Handler
Gönderen: robikod - 03 Eylül 2020, 16:55:57
Merhaba,

işlemci hızı olarak 168Mhz ile çalışıyorum.
HAL_RCC_GetHCLKFreq() değeri 168000000 olarak dönüyor.
  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);

  /* SysTick_IRQn interrupt configuration */
  HAL_NVIC_SetPriority(SysTick_IRQn, 6, 1);

Bu şekilde konfigure ettiğimde Systick timer 1ms de bir çağırılıyor. Ben bu değeri değiştirip 1.2ms yapmak istiyorum nasıl yapabilirm?

Bu systick timer 'ın süresinin ayarlanma mantığı nedir ?

YArdımcı olursanız sevinirim
Başlık: Ynt: Systick_Handler
Gönderen: werdan - 03 Eylül 2020, 17:09:37

Burda bizim işlemcimiz 168 mhz ile çalışıyor yani 1 sn de 168 milyon clock darbesi gerçekleştiriyor " HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); " burada ise bu işlemcimizin hızını 1000'e bölüyor yani 1 saniyeyi 1000 e bölüyor ve o süre boyunca (1 ms) kesmeye giriyor sen 1.2 ms değerini elde etmek istiyorsan şu soruyu kendine soracaksın ben bu  1 i kaça bölersek 1.2 ms olur  formül şöyle 1/x=1.2*10^(-3) x burada bizim bulmak istediğimiz değer oluyor 833.33 buldum ben
Başlık: Ynt: Systick_Handler
Gönderen: robikod - 03 Eylül 2020, 17:29:37
Alıntı yapılan: werdan - 03 Eylül 2020, 17:09:37Burda bizim işlemcimiz 168 mhz ile çalışıyor yani 1 sn de 168 milyon clock darbesi gerçekleştiriyor " HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); " burada ise bu işlemcimizin hızını 1000'e bölüyor yani 1 saniyeyi 1000 e bölüyor ve o süre boyunca (1 ms) kesmeye giriyor sen 1.2 ms değerini elde etmek istiyorsan şu soruyu kendine soracaksın ben bu  1 i kaça bölersek 1.2 ms olur  formül şöyle 1/x=1.2*10^(-3) x burada bizim bulmak istediğimiz değer oluyor 833.33 buldum ben

çok teşekkürler.

168Mhz ile çalışıyorun anlamı, 1 saniyede 168 x10^6 clock darbesi çalıştırıyor mu oluyor ?

HAL_RCC_GetHCLKFreq() işlemi 168*10^6 dönüyor. Bu sayıyı 1 saniye mi kabul ediyor işlemci ?
Başlık: Ynt: Systick_Handler
Gönderen: werdan - 03 Eylül 2020, 17:51:46
evet doğrudur temelinde de şu yatar elektronikte frekansın tanımı 1 sn de kaç tane periyot ( saykıl ) oluşuyorsa ona frekans diyebiliriz yani bizim işlemcimiz 1 sn içinde 168 milyon periyot oluşuyor
Başlık: Ynt: Systick_Handler
Gönderen: robikod - 04 Eylül 2020, 09:24:57
Alıntı yapılan: werdan - 03 Eylül 2020, 17:51:46evet doğrudur temelinde de şu yatar elektronikte frekansın tanımı 1 sn de kaç tane periyot ( saykıl ) oluşuyorsa ona frekans diyebiliriz yani bizim işlemcimiz 1 sn içinde 168 milyon periyot oluşuyor

Çok teşekkür ederim temelde eksik bildiğim bir şeyi öğrenmiş oldum.
Başlık: Ynt: Systick_Handler
Gönderen: mehmet - 05 Eylül 2020, 16:35:07
https://en.wikipedia.org/wiki/Instructions_per_second