Stop mode mu yoksa Frekans düşürmek mi?

Başlatan mistek, 23 Mayıs 2016, 22:06:50

yldzelektronik

Akılda bulunsun.Normalde kullanılmayan donanımların clokcları kapatıldığında da ciddi düşüler olur.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

mistek

@Klein hocam tek tek bayrak kontrolü yaparak sorunu bulmaya çalışayım teşekkürler.

@yldzelektronik teşekkürler gözden geçirdim.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

mistek

@Klein hocam ADC nin Ready, start,stop, enable, disable bayraklarını ve DMA nın transfer error bayrağını debug modda izliyorum. Frekans düşürmeden önce nasılsa aynı şekilde kalıyor herhangi bir hata da görünmüyor.

Debug modda reset atarsam normal çalışmaya devam ediyor. Frekansla oynayınca yine duruyor.

Stm32f1 de aynı şeyi yapıyordum çalışıyordu ama Stm32f0 da olmadı.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

mistek

Sorunu ve Çözümü buldum.

İşlemci frekansını düşürdüğüm zaman ADC duruyordu. CPU ve DMA AHB clokcları 500KHz'e indirdiğimde ADC sample time süresini değiştirmiyordum.

Fonksiyonu kullananlar bilirler. 500KHz Seviyesinde 239.5 cycles olsa bile DMA bus hızı ADC tetiklemesine yetişemiyor bu yüzden veriyi alamıyor(Benim yorumum)
ADC_ChannelConfig(ADC1, ADC_Channel_4 , ADC_SampleTime_28_5Cycles);

İşlemci frekansını en düşük 1MHz yapınca sorun çözüldü. En düşük sample time değeride 28.5 cycles olarak ayarlamak gerekiyor aksi halde DMA yine veriyi alamıyor.


Herkese teşekkürler.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R