Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => MikroC ARM => Konuyu başlatan: mg1980 - 08 Aralık 2016, 17:26:03

Başlık: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: mg1980 - 08 Aralık 2016, 17:26:03
Sayın Arkadaşlar;
Mikroc ile STM32F103C8'in programlanması ile ilgili iki sorum olacak. Sayın Lukeskywalker ve Selim Koç hocalarımın kitabından uyarlamayla bir şeyler yapmaya çalışıyorum. Güzel şeyler yapabildim ama Timer_7 kesmesi uygulamasında sonuç alamıyorum. 1 saniyede kesme oluşturup sonucu görmek istiyorum ama program kesmeden çıkamıyor. Kesme ayarlarını hocalarımın kitabı ve TimerCalculatör ile oluşturdum.Program çalışıyor ama kesmeden çıkmıyor.while döngüsü Led'i yakıp söndürürken kesme oluştuğunu kitin üzerindeki ledin yanmasıyla görüyorum ama döngüye uygun olarak sönmesi gerekirken sönmüyor.Neden olabilir ?
Diğer sorularım:
1-Clock ayarlarını kendim uğraşarak  8 Mhz_Harici_PLL seçimiyle "PLL multiplication factor" ayarında..clockx5 olarak (en fazla) çalıştırdım.Bu durumda 5000 ms.gecikme yaklaşık 1 saniye sürecine tekabül ediyor.Bunu anlamadım. Aşağıdaki linkte Lukeskywalker hocamın ayarlarını görünce onu yükledim. Bu ayarlarda clockx9 yapılmış.Bu durumda kod hiç çalışmıyor.
2- Ben bu clock ayarlarıyla bir kaç gün uğraştım.Bu arada  "Set and cleared by software...." ayarı bölümünde denemeler yaparken  'SYSCLK divided by 256' seçeneğini seçince  Discovery kit üzerinden yüklemede "Target command error!" uyarısıyla kalakaldık. Discovery  STM32F103C8'i artık görmüyor. Başka bir çipi yukardaki ayarı vermeden programlayabiliyorum. Bu çip artık çöp müdür?
İlgilenecek arkadaşlara şimdiden teşekkürler.
//STM32F103C8

void kurulum()                      //******************************************
{

  RCC_APB1ENR.TIM7EN=1;      //Timer7'ye clock veriliyor.?????????
  TIM7_CR1.CEN=0;           //Tim7 ARR değeri otomatik yüklensin.
  TIM7_PSC=124;             //Prescaler değerimiz
  TIM7_ARR=63999;        // Ulaşınca başa dönsün= 1 sn.
  NVIC_IntEnable(IVT_INT_TIM7); //NVIC'de Tim7 interrupta izin verelim.
  TIM7_DIER.UIE=1;     // ARR her yüklendiğinde kesme oluşsun.
  TIM7_CR1.CEN=1;                //Timer7 saymaya başlasın.


}

void  Timer7_interrupt() iv IVT_INT_TIM7 //Timer_7_kesmesi()iv IVT_INT_TIM7 ics ICS_AUTO  //**************************
{
   TIM7_SR.UIF=0;    // Timer7  kesme bayrağı temizlendi.

   //GPIOC_ODR.B13=~GPIOC_ODR.B13;   //  ÇALIŞMIYOR ???????
   GPIOC_ODR.B13=1;  // ÇALIŞIYOR....KESMEDEN ÇIKMIYOR????????????????????
}

void main()
{
GPIO_Digital_Output(&GPIOC_ODR,_GPIO_PINMASK_13);
GPIO_Digital_Output(&GPIOB_ODR,_GPIO_PINMASK_0);
kurulum();



while(1)
{

   GPIOC_ODR.B13=0;
   GPIOB_ODR.B0=1;

   Delay_ms(5000);
   GPIOB_ODR.B0=0;
   Delay_ms(5000);
}


https://www.picproje.org/index.php/topic,63831.0.html
Başlık: Ynt: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: Zoroaster - 08 Aralık 2016, 17:28:28
103C8'de Timer 7 ne arasın.

Başlık: Ynt: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: mg1980 - 08 Aralık 2016, 17:33:31
Hocam vallahi TimerCalculatör hiç itiraz etmedi.Ayrıca derleyici de .Datasheet pin bağlantılarına bakarken ADC IN 7 ile karıştırıp baltayı taşa vurduk galiba. Peki Tim_7 karşılığı nedir ?
Başlık: Ynt: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: Zoroaster - 08 Aralık 2016, 17:35:42
Sadece Timer 1,2,3,4 var. Bir de SysTick.

http://www.st.com/content/ccc/resource/technical/document/datasheet/33/d4/6f/1d/df/0b/4c/6d/CD00161566.pdf/files/CD00161566.pdf/jcr:content/translations/en.CD00161566.pdf
Başlık: Ynt: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: mg1980 - 08 Aralık 2016, 17:38:25
Hocam sağolun, örneğin Tim1'le aynı işi yapabilir miyim? Bir de diğer sorularıma cevabınız var mı ?
Başlık: Ynt: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: LukeSkywalker - 08 Aralık 2016, 18:41:10
Hocam proje dosyanızı buraya yüklerseniz bakalım.
Başlık: Ynt: MikroC ile STM32F103C8 Timer_7 denemesi
Gönderen: mg1980 - 08 Aralık 2016, 18:57:11
Hocam,
z hocamın ikazı ile Tim_2 yapınca olay çözüldü. Size projeyi göndermek istiyorum ancak nasıl olacağını bilmiyorum desem kusura bakar mısınız bilmem.Tarif edebilirseniz göndereyim. Biraz uğraştım beceremedim. Şayet yapamazsam TimerCalculator'da Tim_1 yok.Buna bir açıklamanız var mıdır ?
Diğer konu da ilk mesajımda belirttiğim çipin çöp olma durumu !.Saygılar.