STM32 Serisinde 300baud kullanmak

Başlatan kimlenbu, 05 Haziran 2017, 11:05:44

kimlenbu

Selamlar,

elektrik sayaçlarını okumak için ilk etapta 300baud'a inmek gerekiyor. STM32F0,STM32F1 serisinde denedim bu süratlere inemiyor. Yapılacak olan clock ayarları delay fonksiyonlarına kadar etkileyeceğinden sadece usart'ı 300baud'a çekebileceğim bir konfigürasyon var mıdır ?

Tagli

F103'te Timer ve USART'ların bir kısmı APB1'i, bir kısmı APB2'yi kullanıyor. Delay fonksiyonları için hangi Timer'ı kullandığını bilmiyorum ancak kullandığın Timer ve USART farklı APB üzerinde ise, USART'ın bağlı olduğu APB'nin prescaler'ini değiştirerek istediğin sonuca ulaşabilirsin belki.
Gökçe Tağlıoğlu

eeburakdemir

Baud ayarı çalışma frekasına bağlı. L serilerinde düşük frekanslar vardı sanırım. Hatta sayaçlarda F serisi yerine L serileri kullanılıyor. Özellikle L0 serisini duyuyorum.
Asla pes etme...

Zoroaster

Olmuyorsa seri portu soft olarak emüle et.
Seytan deliginden kacti.

kimlenbu

L serisi tüketim olarak da çok iyi elimdeki malzeme ile test yapmak istedim sadece, sonradan bir kaç değişiklikle port ederim. Soft serial kullanmak istemiyorum, işlemciye gereksiz yük, bana seri interrupt da lazım. Ayrıca hızlı baud değişikliği de yapmam gerek 300'den 9600'e hızlıca geçmek gerekiyor.

Başka işlemcilerle luna, köhler, makel verilerini optik porttan okudum ama stm ile bu baud sıkıntısı çıktı.

usart'lar hangi bus'a bağlı bunu kontrol edip uygun değere ayarlamaya çalışacağım, son çare L serisi ısmarlarım

kantirici

300bps için gereken hızı hesaplayıp clock ayarını bilgi göndermeden önce değiştir. Sayaçtan cevap gelince de tekrar clock conf. değiştir ve yüksek hıza çık.

skara1214

Genelde stmlerde 2 tane usart var birisini 300  diğerini 9600 olarak ayarla. Girisi ikisinde gir. İkisininde düzenli oku böylece ayara gerek kalmadan hem 300 hem 9600 okursun. Eğer ikisini sırayla okumak istiyorsan regisferlardan usart enable biti ile usarti aktif pasif yapabilirsin
Herkes ölür ama herkes gerçekten yaşamaz

memo333

Gömülü Linux Notları --> http://linuxedu.xyz/