STM32 HAL kütüphanesi CAN Haberleşmesi

Başlatan esdevhk, 15 Temmuz 2018, 00:52:11

esdevhk

Alıntı yapılan: e-zeki - 16 Temmuz 2018, 15:58:24"Cannot evaluate" yazıyorsa ya fonksiyon atıyorsunuz ya lokal değişken CanTypeDef'iniz neyse onu atın debuga. hcan'i tutup atarsanız açılır bir struct yapısı gelmesi gerek. cannot evaluate deme ihtimali yok can handle için.

Durum bu hocam.


e-zeki

o zaman bilemedim hocam benim CAN BUS'ım bitti bu kadar :D

esdevhk

Alıntı yapılan: e-zeki - 16 Temmuz 2018, 16:34:19o zaman bilemedim hocam benim CAN BUS'ım bitti bu kadar :D

Hocam kodlarımda bir yanlışlık var mı ??
Baudrate hesabını da şuna göre yapıyorum : BR = PCLK / [(Tseq1 + Tseq2 + 1) * PRESCALAR]

Varsa eğer örnek kodlarınız alabilir miyim?

e-zeki

PCLK yerine CANBUS clok hangi Bus üstündeyse onun değerini yazmanız lazım f4'lerde APB1 Bus'ına bağlı mesela F0'larda durum ne bilmiyorum.
Örnek 168 MHZ'de koşan f4 serisi bir mcu APB1 Bus hızı 42MHz'dir

42MHZ/(psclr*(BS1_TQ+BS2_TQ+1)) şeklinde hesaplanır

esdevhk

Alıntı yapılan: e-zeki - 16 Temmuz 2018, 17:09:40PCLK yerine CANBUS clok hangi Bus üstündeyse onun değerini yazmanız lazım f4'lerde APB1 Bus'ına bağlı mesela F0'larda durum ne bilmiyorum.
Örnek 168 MHZ'de koşan f4 serisi bir mcu APB1 Bus hızı 42MHz'dir

42MHZ/(psclr*(BS1_TQ+BS2_TQ+1)) şeklinde hesaplanır

Ben şuanda F0 kullanıyorum ve clock ayarlarımda hepsi 48M hz şuan da. Bende şuan bilmiyorum hangisine bağlı olduğunu ama hepsi 48M Hz oldugundan bakmadım. Fakat günlerdir uğraşıyorum,araştırıyorum ve hala sıkıntıyı bulamadım. Umarım dönüştürücemde vs sorun vardır.

e-zeki

Alıntı YapUmarım dönüştürücemde vs sorun vardır.
Hocam umarım onda da sorun yoktur en kısa zamanda çözersin inşallah. boşa masraf olmasın.
F0 için referance manual var oradan bakabilirsin hangi bus'a bağlı olduğuna

Not: Kod veremiyorum çünkü tüm canbus kodlarım şirket bilgisayarında. herhangi bir şekilde kod paylaşımı yapma iznim yok maalesf

deneme_1234

#21
Güzelim std_lib'i mahvetti ST böyle çoluk çombalak HAL'larla uğraşıyoruz.

F0 serisi gibi basit serilerde HAL ile uğraşmayın. STD LIB'e yönelin. İki dk'da CAN kütüphanesini adam edersiniz.

Bir de keil'ın F103 için yazdığı bir kod var cidden inanılmaz iyi.

STM32'de CAN ayarlamaları kolaydır ayrıca ve sorunsuz çalışır.

STM32'nin bir USB kütüphaneleri kötü şu ana dek, ben hep STD LIB kullandım F4 serilerinde bile, millet HAL'ı çözücem derken adamların verdikleri örnekler üzerinden ne motor sürücüler yaptık :)

esdevhk

Alıntı yapılan: deneme_1234 - 17 Temmuz 2018, 00:26:00Güzelim std_lib'i mahvetti ST böyle çoluk çombalak HAL'larla uğraşıyoruz.

F0 serisi gibi basit serilerde HAL ile uğraşmayın. STD LIB'e yönelin. İki dk'da CAN kütüphanesini adam edersiniz.

Bir de keil'ın F103 için yazdığı bir kod var cidden inanılmaz iyi.

STM32'de CAN ayarlamaları kolaydır ayrıca ve sorunsuz çalışır.

STM32'nin bir USB kütüphaneleri kötü şu ana dek, ben hep STD LIB kullandım F4 serilerinde bile, millet HAL'ı çözücem derken adamların verdikleri örnekler üzerinden ne motor sürücüler yaptık :)

Eminim sıkıntı bende zaten ama yazılımsal bir sıkıntı olduğunu düşünmüyorum. Config ayarlarında bir sıkıntı var ya da donanımsal bir aygıtım bozuk.

eeburakdemir

Alıntı yapılan: huseyink - 16 Temmuz 2018, 15:27:25Evet öncelikle çoğu GPIO ayarı HAL kütüphaneleri içinde hallediliyor. Normal mode ve loop back arasındaki fark nedir?

Loop back mode siz verinizi gönderirsiniz , can transreceiver çipi kendi içinde canh-canl hattını birbirine bağlıyor gibi düşünebilirsiniz. Ardından verinizi alırsınız. Normal mode default ( genelde ) moddur. Standart kullanılan al gülüm ver gülüm yani  :)
Asla pes etme...

bayram göktepe

Selam stm32f103c8t6 kullanıyorum. Hal kütüphanesini kullanarak canbus ile veri gönderebiliyorum fakat bir türlü çok uğraşmama rağmen veriyi okuyup alamıyorum. Yardımcı olabilirseniz sevinirim. cubemx ve keil kullanıyorum.



esdevhk

Veri gönderdiğin halde okuyamaman biraz garip aslında. Donanımsal bir sıkıntın olmadığına emin misin? RX kablosu doğru mu?

Bünyamin Tamar

Ben de veri gönderiyorum. Ama ACK biti alıcı MCU tarafından verici MCU'ya gönderilmiyor. Bu yüzden iletişim tam olmadığı için sağlıklı bir veri de alınamıyor. Bunu nasıl çözebilirim. Ne önerirsiniz?