Stm32f4 Discovery açılış süresi

Başlatan saban88, 22 Temmuz 2020, 15:27:26

saban88

Merhaba stm32f4 discovery kartında bir projede geliştiriyorum. Sistem gereği gpio lar başlangıçta high olması gerekiyor. Fakat işlemcinin açılması 1 saniye gibi bir süre aldığı için o süre esnasında gpio lar 0 da kalıyor. Kodlarda sorun mu var diyerek karta sadece led  yakan bir kod yükledim ve harici beslemeden enerji vererek denediğimde yine aynı şey oldu. Arduinoda bootloader vardı. Burada da aynı şeymi söz konusu. Bu gecikmeyi nasıl giderebilirim.

noravel

#1
Default olarak istisna pinler dışında tüm I/O portları input ve floatig durumundadır. Port Init işlemi sırasında pinleri 0 olarak kurup daha sonrada 1 yapıyor olabilirsiniz. Birde dikkat etmeniz gereken, kullandığınız pin Jtag uçlarından biri olabilir STM32F4xx de PB3,PB4,PA13,PA14,PA15 bu pinler jtag için kullanıldığından reset durumunda floating değildir. Referance manual den kontrol edebilirsiniz.

Tagli

Bir yerlerde bir sorun var. 1 saniye çok uzun bir süre. İşlemcinin başlangıç ayarları o kadar sürmemeli.

Başlangıçta 1 olması gereken pinlere güvenlik amacıyla pull-up direnci atmak uygun olur. Bu sorununu çözecektir, ama sana tavsiyem ne yapıp ne edip o 1 saniye gecikmenin nedenini bulman.
Gökçe Tağlıoğlu

saban88

pull-up direnci attım fakat işlemci o esnada 0'a çektiği için yine bi işe yaramadı. stm32cubeide kullanıyorum. Gpio ayarlarında başlangıç ayarını high yaptım.Kullandığım pinler pd10 ve pd11.Acaba bordtan kaynaklı olabilir mi diye farklı bord kullandım yine değişen bişey olmadı.

saban88

#4
Aslında mosfet kartım 0 verince roleyi aktif, 1 verince pasif hale getiriyor. Araya bir değil kapısı koysam başlangiç için sorunumu çözer ama böyle bi gecikmenin kaynağını merak ediyorum.

z

Startup ve System initlerin yapildigi rutinlere bakmak lazim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

kimlenbu

Hiç boşuna uğraşma, sıkıntı kartta. Ben de stm32f4 discovery ile hızlıca bir proje yaptım. Selenoidler kullandığım yapı gereği 0 verdiğimde aktif hale geliyordu. Senin dediğin şekilde cihaz başlatıldığı gibi selenoidler 1sn boyunca açık kalıp geri kapanıyordu. Hatta sanırım burada da sormuştum bulursam link eklerim. Ben bu sorunu selenoidlere giden besleme hattına on delay röle koyarak çözüm, çözmek zorunda kaldım. Zaman sıkıntısı bitince de oturup adam gibi kart tasarladım.

STM32F4 Discovery sıkıntıları :

1) NRST için kullanılan power on reset rc devresindeki kapasitör ve direnç değeri genelde 100k ve 100nf olarak seçiliyor. Süreyi düşürmek için ilgili direnci bulup 10k veya 1k ile değiştirirsen başlama süresi hızlanır.

2) Harici pull up kullanman gerekiyor, bunu yaparken de ilgili pine başka bir şeyin bağlanmadığından emin olman lazım. Yani ilgili gpio mcu'dan çıkıp direkt olarak kart üzerindeki pine yol alıyor olmalı.

3) Kodunda zaman alacak init işlemlerinden önce hemen gpio init yapıp ardından çıkışları kapat, kalan init işlemlerine bundan sonra devam et.

saban88

Arkadaşlar katkılarınız için teşekkür ederim. Sorunu çözdüm. Şöyleki;
Stm32f4 discovery board ile çalışıyorum.Bu bord üzerinde bildiğiniz gibi birde programlama görevi yapan stm32f103 var. Bu zatı muhteremin sökük olduğu eski bir bord vardı elimde. Bu borda elimdeki kodu yükledim ve denedim. Şak diye açıldı sistem. Daha sonra elimde gecikme yapan ve üzerinde stm32f103 ün olduğu devrede stm32f103 e gelen stm32f407 nin reset bağlantısını sb11 direncini sökerek kestim. Ta ta taaam sitem yine şak diye açıldı. Bu programlayıcı muhterem başlangıçta her ne halt yiyorsa işlemciyi resette tutuyormuş. Bu bordla çalışırken böyle bir sorunla karşılaşırsanız aklınızda bulunsun.

kimlenbu

Alıntı yapılan: saban88 - 23 Temmuz 2020, 10:44:11Arkadaşlar katkılarınız için teşekkür ederim. Sorunu çözdüm. Şöyleki;
Stm32f4 discovery board ile çalışıyorum.Bu bord üzerinde bildiğiniz gibi birde programlama görevi yapan stm32f103 var. Bu zatı muhteremin sökük olduğu eski bir bord vardı elimde. Bu borda elimdeki kodu yükledim ve denedim. Şak diye açıldı sistem. Daha sonra elimde gecikme yapan ve üzerinde stm32f103 ün olduğu devrede stm32f103 e gelen stm32f407 nin reset bağlantısını sb11 direncini sökerek kestim. Ta ta taaam sitem yine şak diye açıldı. Bu programlayıcı muhterem başlangıçta her ne halt yiyorsa işlemciyi resette tutuyormuş. Bu bordla çalışırken böyle bir sorunla karşılaşırsanız aklınızda bulunsun.

Kart üzerindeki stlink jumperını sökerek de deneyebilir misin, merak ettim.

saban88

Alıntı yapılan: kimlenbu - 23 Temmuz 2020, 11:07:14Kart üzerindeki stlink jumperını sökerek de deneyebilir misin, merak ettim.
onu daha önce denemiştim olmadı.

Tagli

İlginç. Ben F4 Discovery ile çalışırken 1 saniye resette kalma durumu ile karşılaşmadım hiç.
Gökçe Tağlıoğlu