Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

STM32F103 Sorularım

Başlatan yldzelektronik, 08 Aralık 2016, 16:43:46

yldzelektronik

@Klein hocam şöyle;

Bir pc programı olsun.Full modem çalışıyor.Yani en azından haberleşirken rts cts pinlerini de kontrol ediyor olsun.

Bu tür programlar için bu pinleri de emule edebilmek istiyorum.Yani Stm32f103 ile bir cihaz yapmış olayım.VCP. Cihazı usb ile bağladığımda sanal seri port olarak görsün.Örneğin gsm terminal programlarından birini kullanıyor olayım.Program da seri port üzerinden veri gönderiyor olsun.

Usbden bağladığım cihazın açtığı sanal seri port üzerinden benim cihazım ile konuşuyor olsun.Ama bunu yaparken program rts cts gibi flow control tarafını da  kullandığından, benim stm32f103 de bunu emule edebilmeli.

Galiba iyice karıştırarak anlattım.Nedense bu ara anlattığım herşeyi karıştırıyorum.Uykusuzluktan mıdır nedir.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

Zoroaster

PC driver ve STM kodlama nasıl yazılmış bakmak lazım.

Projeyi geliştiren Null modem olarak geliştirdiyse modem sinyallerini kullanamazsın.

PC de basit bir test programı ile RTS gibi sinyalleri aktif etmeyi bir dene.
Seytan deliginden kacti.

yldzelektronik

Geç yanıtladığım.Kusura bakmayın.

Pc programını ben yazmadım.Yazılmış bir stm programı da yok.Pc tarafındaki program modem olarak yazılmış. Çalışıyor. Ancak stm üzerine henüz yazılmış değil.Ben de onu araştırıyorum.Nasıl yaparıma bakıyorum.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

Zoroaster

PC tarafındaki program derken VSP driverdan bahsediyorum.

STM için PC tarafındaki driverin örnek kodu varsa İstediğin eklentileri yapabilirsin.

PC yazılımımı USB/seri port dönüştürücü (FT chip) kullanarak Seri portu olan ve modem sinyallerine ihtiyaç duyan MCU kartımla haberleştirmiştim. Daha sonra bir başka dönüştürücüde sorun yaşadım ve bu dönüştürücünün sadece Rx Tx ilettiğini tespit ettim.

Sonuç olarak bu durum driver ile alakalı.
Seytan deliginden kacti.

yldzelektronik

Selamlar.


BU denetleyici ile GPIOB 3 pinini input pull up yapamıyorum bir türlü.Debug ile registerleri gözlüyorum.Sorun yok gibi.Yazdığım değerleri aynen görebiliyorum registerde.Ama pratikte pin pull up olmuyor.


Bazı pinler için önce sıfırla sonra yeni değeri yaz gibi ayarlar olduğunu okumuştum.Ancak sıralamasını bilemiyorum.Nasıl yapabilirim?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

marecrisium

B3 pini SWD için ayrılmış bir pindir. Bu pini remap yaptıktan sonra istediğiniz gibi kullanabilirsiniz. GPIO registerlerine bakın.

yldzelektronik

Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Selamlar.


Bir önceki sorumun cevabını
/* Disable the Serial Wire Jtag Debug Port SWJ-DP */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

satırı çözdüm.


Şimdi sormak istediğim, keil debug printf ile ilgili. Bunu kullanıyor musunuz?Nasıl bir yapısı var?Bir de command kısmı var.


Keil üzerinde 2 adet watch window var.Bunların sayısı 3 4 olsa fena olmazdı dedim şimdi.Değişkenlerin durumlarını gözlemek istiyorum. Siz ihtiyaçlarınızı nasıl çözüyorsunuz?[/code]
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Selamlar,


RTOS kullanıyor musunuz?


FreeRTOS kullanmaya başladım. Ancak bir gözüm RTX de.Çünkü keil ile debug yaparken, thread durumlarını vs detaylı görebiliyorum. Bu durumun freertos ile yapılmasını nasıl sağlayabilirim?


Thread debug nasıl yapılır keil üzerinde?Yada rtos olarak ne kullanıyorsunuz?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

Mucit23

STM32F103 üzerine ufak bir sorum olacak.


Şuanda Timer+ADC+DMA üçlüsünü kullanarak ADC ile sabit örnekleme frekansıyla N kadar örnek alıp bir diziye otomatik yerleştirilmesini yapabiliyorum. Fakat bu işlem tek kanal ADC için geçerli.


Eğer iki kanal ADC kullanmak istersek buna benzer bir işlemi otomatik yapmak mümkünmüdür?


Yine timer ile sabit frekansta ADC yi tetikleyelim. ADC sırayla iki kanaldan N kadar örnek alıp DMA vasıtasıyla Dizilere yerleştirsin. Böyle birşey otomatik yapılabilirmi?

SpeedyX

İki ADC + DMA yapmıştım, kodları forumda mevcut olması lazım. Dual mode diye ararsan çıkacaktır.

Mucit23

Dün baya araştırdım. STM32F103C8 için sanırım olmuyor. 2 Adet DMA gerekiyor. DMA'nın 1. kanalını zaten ADC1 için kullanılıyor. Bunun dışında kullanabileceğim DMA kanalı yok.


Ancak şöyle olur. Her işlem sonunda timer'i durdurup, ADC'nin kanalını değiştirip tekrar Timeri başlatırsam olabilir gibi.

Klein

Yapabilirsin.
ADC'yi scan modda kullanacaksın. Timer ADC'yi tetikleyecek   ADC tüm kanalları tarayıp verileri sırayla yarleştirecek.  Fakat her kanal için ayrı dizi kullanamazsın.

Mucit23

Hocam tek bir dma ile iki farklı diziye veri aktarımı otomatik olarak nasıl sağlanacak? ADC nin scan modunu biliyorum. Daha önce iki kanaldan DMA ile birer örnek 2 elemanlı dizinin birinci ve ikinci elemanlarına yerleştiriyordum. Sizin söylediğinizde Her kanal için ayrı dizi kullanma işini anlayamadım. Biraz daha ayrıntı verebilirmisiniz?

Klein

Ayrı dizi kullanamayacağını belirtmiştim.
Diziye attığın veri ile ne yapacağını söylersen belki bir iki küçük hile ile işini kolaylaştırabiliriz.