Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Diğer => Konuyu başlatan: Mucit23 - 25 Mart 2021, 22:43:35

Başlık: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: Mucit23 - 25 Mart 2021, 22:43:35
Yahu Bu STM8S103F'lerde ilginç bir sorun yaşıyorum. PWM puls genişliği ölçmeye çalıştığım ufak minnak bir devrem var. ST'nin İnput Capture örneğini denedim. Ayarlar çok basit.

     
     TIM1_TimeBaseInit(16, TIM1_COUNTERMODE_UP, 55535, 0);
     TIM1_ICInit(TIM1_CHANNEL_1, TIM1_ICPOLARITY_RISING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV1, 1);
     TIM1_ITConfig(TIM1_IT_CC1, ENABLE);
     TIM1_Cmd(ENABLE);
     
     enableInterrupts();
Kesme Fonksiyonu bu şekilde. Yükselen Kenarda kesme oluşması lazım.

INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler, 12)
{
  if(TIM1_GetITStatus(TIM1_IT_CC1))
  {
    GPIOB->ODR ^= (uint8_t)GPIO_PIN_5;
    TIM1_ClearITPendingBit(TIM1_IT_CC1);
  }
       
}

Elimde Eski bir STM8 Mini Boardu var.
(https://xeerob.com/wp-content/uploads/2019/11/stm8-s103f3p6-mini-development-board-400x400.jpg)
Bu yazılım o kartta çalışıyor fakat Yeni satın aldığım STM8'mini kartlarında çalışmıyor.

Testi de şu şekilde yapıyorum. PD2 pinini main loop içinde toggle yapıyorum. PD2 aynı zamanda TIM1_CH1 yani PC6'ya bağlı. Buradan input capture yapması lazım.  Her yükselen kenarda kesmeye gitmesi lazım. Kartların birinde bu yazılım çalışıyor başka birinde çalışmıyor.

Bilmediğim bir şey mi var. Aynı yazılım hiçbir değişiklik yapmıyorum. Doğrudan yüklüyorum. Bilgisi olan varmı?
Başlık: Ynt: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: RaMu - 25 Mart 2021, 23:31:28
Kesmeye her 10 veya 100 defa girildiğinde PD2 yi toggle yapıp gözlemlemeyi deneyebilirsin.
Pini çok hızlı konum değiştiriyorsan yetişemiyor olabilir.
Başlık: Ynt: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: M.Salim GÜLLÜCE - 26 Mart 2021, 00:43:13
Kart dizaynı aynı olmayabilir mi?
Başlık: Ynt: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: sarikayamusa - 26 Mart 2021, 05:32:35
Başka kodlar başka portlarla iki kartta da aynı şekilde çalışıyor fakat sadece bu kodmu çalışmıyor? Eğer öyleyse çalışmayan kartta C6 portu uçmuş olabilir mi? Başıma geldi de.
Başlık: Ynt: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: saintcook1987 - 26 Mart 2021, 07:30:30
işlemci revizyonu farklı olabilir, aşağıdaki resimde gösterlen Rev koduna bakabilirsin, kullandığınız ürüne ait Datasheet te vardır.


(https://i.ibb.co/S7cT02j/Ekran-g-r-nt-s-2021-03-26-072420.png) (https://ibb.co/S7cT02j)
Başlık: Ynt: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: serkan_48 - 26 Mart 2021, 08:15:12
Kartlar nereden temin edildi?
Başlık: Ynt: STM8 Aynı kod farklı çiplerde çalışmıyor.
Gönderen: Mucit23 - 26 Mart 2021, 09:11:12
Sanırım Option Byte kısmı ile ilgili. Bazı MCU larda default olarak TIM çıkışları GPIO'lara bağlı. Yani Timeri'init edince otomatik çalışmaya başlıyor. Diğerlerinde Option Byte'larda AFR değerini değiştirince çalışmaya başlıyor. Sanırım Revizyon ile ilgili. Her halukarda Option Byte kısmında AFR değerinin ayarlanması lazım. İlk işlemciler beni yanıltmış.