Merhabalar;
Son bir kaç haftadır STm32-H103 deneme kartıma USB HID özelliği kazandırmaya çalışıyorum.
ST'nin sitesindeki "STM32_USB-FS-Device_Lib_V3.3.0" adlı örneklerle işe başladım. Platform Config'i kendi kartıma göre uyarladım ve cihazı bilgisayara tanıtabildim.HID örneğini kurdum ve arayüze verileri transfer edebildim. Henüz malesef sadece 2byte atabiliyorum. Fakat STM32'ye aryüzden transfer gerçekleştiremedim.
Acaba bu konuda daha önce çalışma göstermiş bir arkadaş varmıdır?
Bu sorunumu nasıl çözebilirim acaba?
Şimdiden teşekkür ederim, iyi çalışmalar.
Keil sitesinde daha önce stm32 stamp board da denediğim pc den çentikleri işaretleyip bord üzerinde çeşitli ledleri yakan bir program var şurdan indirilebilir.
http://www.keil.com/download/files/stm32_usbhid.zip
Bu programın pc uygulama programı keil dizininde
C:\Keil\ARM\Utilities\HID_Client\Release
altklasörde bulunabilir. Örnekleri biraz incele iki taraflı iletişim kolayca yapılabiliyor kodlarda sorun çıkmıyor.
Yeri gelmiş iken sorayım; Keil'de iki tip kod geliştirme ortamı mı var? Ben tüm başlangıçlarımı kendim yapıyorum, ve kontrol altında tutabiliyorum. Fakat sizin önerdiğiniz projede herşey stm32_init altında yapılmış. Ve malesef bir türlü o örneklere alışabilmiş değilim. Herşeyi kendim yapmak istiyorum çünkü sorun çıkınca çözmesi çok zor oluyor. Proje sanırım MCB kartı için yapılmış. Benim kartıma uydurmayı becerebilmiş değilim.
Dediğim gibi STM32_USB-FS-Device_Lib_V3.3.0 dosyası içerisindeki projeyi geliştirmeyi daha uygun görüyorum.
Veri gönderirken anladığım kadarıyla Basitleştirilmiş Katman üzerinden gönderiyoruz;
USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer,2);
SetEPTxValid(ENDP1);
Fakat ben bu komutlarla 3byte'lık veri gönderemiyorum. Acaba USB'nin açılışında paket ayarı yaparken bunları en baştan mı belirtmemiz gerekmektedir?
Alıcı kısmında ise EndPoint Callback fonksiyonunda
USB_SIL_Read ile okuma yapmamız gerekiyor. Fakat callback fonksiyonuna bir türlü arayüzden gönderdiğim 2byte veri taşıyan paket ile dallanamıyorum.
Bir yol gösterebilirseniz sevinirm.
Teşekkür ederim,
Ahmet
usb hid demonstrator paketini indirin st den. orda hid uyumlu adc değerlerini buton konumlarını pc ye gönderen ve pc den aldığı değerleri borda yazan mdk da derlenmiş cmsis uyumlu kodlar var. Genelde usb_desc.h ve c dosyalarında paketlerin byte uzunluğu hid için gereken tüm tanımlamalar orda mevcut. Bu tanımlamalar pc programı ve kod içinde uyumlu değilse haberleşme gerçekleşmez.