STM32F103 VCP ye Başkta STM32F den bilgi gönderme.

M_B

Aktif Üye
Katılım
16 Şubat 2023
Mesajlar
174
Merhabalar,
STM32F103C8T6 ile sanal com port uygulaması yaptım. Modulu PC ye bağlayıp Herhangi bir serial terminal programıyla
LedOn , LedOff
yazdıgımda tanımlamış olduğum Led yanıp sonuyor.
Yukarda yazdığım işlemi PC den bağımsız nasıl yapabilirim.
Örneğin USB Host özelliği olan STM32F407 ile yapılabilir mi ?

Bu konuda çalışma yapmadım ve bilgiyede sahip değilim.
Yönlendirilmeye ihtiyacım var. Anahtar kelimeler nelerdir.

Not:
Bu duruma ihtiyac duymam daki amaç yapmış oldugum Sanal kom portlu modullerimi
PC ye takmadan test etmek.
 
Burada kullandığınız modül USB-UART çevirici ise, herhangi bir UART sinyali üretip, gönderebilen cihazla haberleşme sağlarsınız. Ara modül hakkında bilgimiz olsa daha iyi olur.
 
Burada kullandığınız modül USB-UART çevirici ise, herhangi bir UART sinyali üretip, gönderebilen cihazla haberleşme sağlarsınız. Ara modül hakkında bilgimiz olsa daha iyi olur
Hocam USB-UART cevirici yok.
Modulu ( STM32F103 Blue Pill ) direk PC ye USB den bağlayınca sanal kom port olarak gozukuyor.
USB Sanal kom port uygulama ornek link:
 
Bu durumda STM32F407'i Host olarak, STM32F103C8'i'de device olarak ayarlayıp bu yapılabilir gibi duruyor. Daha önce hiç denemedim açıkçası.

Bu abi açıklayıcı şekilde anlatıyor.

Çok kritik bir şey değilse stm32ler arasında diğer haberleşme yöntemlerini kullanmak daha mantıklı geliyor bana.
 
pcden bağımsız portatif birşey lazımda usb host projeleri raspbery pi veya benzeri sbcler ile çok kolaylıkla yapılabilir.
 
pcden bağımsız portatif birşey lazımda usb host projeleri raspbery pi veya benzeri sbcler ile çok kolaylıkla yapılabilir.
Hocam elimde raspery pi de mevcut. Kolay oluyorsa denemek isterim. Nasıl yol almam lazım.
Her ayrı modulu tak cıkar yaptığımda sanal com port deger değiştiriyor mu ve otomatik bağlanma nasıl oluyor.
Win ortamında hep Device Manager dan hangi port atandıysa ogrenip Serial porttan secip bağlan diyor ve komutları gonderip test ediyordum/ediyorum. Şimdiki amacım bu aşamayı tak cıkar şeklinde yapmak.

Not: Yapılabiliyorsa USB Host özellikli modul ile yapmak isterim. ( Bu olayı ayrıyeten öğrenmek te istiyorum. İlerdeki uygulamam dusuncem USB Host USB Barkod okuyucudan bilgi alabilmek. )
 
Windowsda da c # ile otomatik uab yi taktıgınızda baglanıp led yakıp sondürüp bağlantıyı kapatacak bir kod yapabilirsiniz c# com port ornekleri hep manuel seçmeli felandır ama bu şart değil arkaplanda timer ile usbleri kontrol edip algılandıgı anda bağlanıp testi başlatacak bir program yazmak mümkün
Detaylarını hatırlamıyorum uzun zamandır uygulama yapmadım ama mümkün olduğundan eminim
 
Alternatif öneri: Her kart için compot numarasını sabit tutmak için.

Bu öneri bilgisayara aynı anda sadece bir adet sizin yazdığınız cihazınız bağlanacaksa işe yarar. Windowsun her cihaz için ayrı port atamasının nedeni, taktığınız usb cihazların seri numaralarının farklı olmasından kaynaklanıyor. Kontrol etme imkanım yok ama "usbd_desc.c" şeklinde konfigrasyonların tanımlandığı yerde bu serial ataması yapılır.

Her cihaz için farklı serial numarası stm32 nin UID si kullanılarak elde edilir.

Tüm cihazların usb serial no larını aynı yaparsanız, bilgisayara her bağlayıp söktüğünüzde hepsi aynı comport numarasını alır.

Aynı anda birden fazla takarsanız problem yaşama ihtimaliniz yüksek.
 
Son düzenleme:
Bahsettiğim yer usbd_desc.c içerisindeki aşağıdaki fonksiyon.

usbd_desc.c:
/**
  * @brief  Create the serial number string descriptor
  * @param  None
  * @retval None
  */
static void Get_SerialNum(void)
{
  uint32_t deviceserial0;
  uint32_t deviceserial1;
  uint32_t deviceserial2;

  deviceserial0 = *(uint32_t *) DEVICE_ID1;
  deviceserial1 = *(uint32_t *) DEVICE_ID2;
  deviceserial2 = *(uint32_t *) DEVICE_ID3;

  deviceserial0 += deviceserial2;

  if (deviceserial0 != 0)
  {
    IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8);
    IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
  }
}
 
Bahsettiğim yer usbd_desc.c içerisindeki aşağıdaki fonksiyon.

usbd_desc.c:
/**
  * @brief  Create the serial number string descriptor
  * @param  None
  * @retval None
  */
static void Get_SerialNum(void)
{
  uint32_t deviceserial0;
  uint32_t deviceserial1;
  uint32_t deviceserial2;

  deviceserial0 = *(uint32_t *) DEVICE_ID1;
  deviceserial1 = *(uint32_t *) DEVICE_ID2;
  deviceserial2 = *(uint32_t *) DEVICE_ID3;

  deviceserial0 += deviceserial2;

  if (deviceserial0 != 0)
  {
    IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8);
    IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
  }
}
Teşekkürler hocam. Bahsettiğiniz yöntemde farklı bir alternatif. Bu uygulamam da kullanmasam da serial kısmını öğreniş oldum.

Bir tane STM32F407 Discovery'in USB Host özelliğini kullanarak yapamazmıyız.
Module bağlanınca 5sn aralıkla on - off yapacak komut gonderse olmaz mı ?
Yoksa bu bahsettiğim iş bu şekilde olmaz mı ?

@TunahanC Hocanın onerdiği linkte Blue Pill den 411 module veri geliyor ben tam tersini yapmak istiyorum.
Önerdiği Link:
 
PC veya benzeri bir cihaza bağlamayacaksanız USB kısmı bence gereksiz. Seri port üzerinden haberleşmek daha kolay. 1Mbaud hızlara çıkmanız da mümkün.
RPi ile USB'den bağlanmanız da mümkün. Seri port olarak görecektir.
 
PC veya benzeri bir cihaza bağlamayacaksanız USB kısmı bence gereksiz. Seri port üzerinden haberleşmek daha kolay. 1Mbaud hızlara çıkmanız da mümkün.
RPi ile USB'den bağlanmanız da mümkün. Seri port olarak görecektir.
Ürünler pc ye bağlanacak. Pc ile ortak alışıyor. Buradaki amacım yapmış olduğum ürünün testini kolay ve kısa sürede yapmak. Kendime test ürünü yapmak.
 

Forum istatistikleri

Konular
7,101
Mesajlar
120,967
Üyeler
2,877
Son üye
mrnobodyu

Son kaynaklar

Son profil mesajları

az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Back
Top