Can bus veri iletimi hakkında

karavela

Aktif Üye
Katılım
7 Temmuz 2022
Mesajlar
110
İki arduino arasında Can bus ile veri iletimi gerçekleştiriyorum float verilerin ondalıklı kısımları 00 olarak geliyor. Örneğin 12.45 veri gönderiyor 12.00 gözüküyor sorun ne olabilir?(Bütün değişkenler float olarak tanımlı. Can baud 500kbps 8mhz)
 
Sorum biraz yanlış oldu aslında can bus ile float veri iletebiliyor muyuz? Çünkü birçok uygulama videosu izledim hepsinde ondalık kısmı 00 dı.
 
Dijital devrelerde veri iletimi binary olduğuna göre, her türlü veri gönderilebilir. Bu float sayı olur, string olur, JPG dosyası olur. Ne olduğu önemli değil. Bir float sayı bellekte 4 byte olarak saklanır, bu 4 byte'ı karşı tarafa gönderirsen o taraf artık o float sayıyı nasıl uygunsa o şekilde ekranda görüntüleyebilir.
 
Sorum biraz yanlış oldu aslında can bus ile float veri iletebiliyor muyuz? Çünkü birçok uygulama videosu izledim hepsinde ondalık kısmı 00 dı.
o zaman şöyle yapariblisin.
float verisini 2 parçaya böl.
önce 12 sonra 45 yolla.
ve arada ayraç gibi bir sayıda yolla

mesela 12 - 45 yolladıktan sonra 6 yolla 6 artık göndereceğim data bitti al işle demek olsun.
 
Yakın zamanda hali hazırda kullandığımız araca bir bilgi ekranı yapmayı planlıyorum aracın birkaç noktasına iletişim CAN-BUS üzerinden yapılmış.

CAN üzerinden akan veriler genelde işimizi görecek veriler motor yağ basıncı,yakıt basıncı,su sıcaklığı,yağ sıcaklığı,egr valfi açısı,hava akış oranı,hava kalitesi,rpm,hız bilgileri dönüyor daha dönen birkaç veri daha var ama onlar işime yaramayacak.

bu verileri stm32f103 ile işleyerek bir ekrana yazdırmayı düşünüyorum.
Bazen yola dalıp kadrana bakmıyoruz ve bu sırada hararet yükselmiş olabiliyor buna bir düdüklü uyarı gibi şeyler düşünüyorum.

Hazır CAN konusu açılmışken yazayım dedim
 
o zaman şöyle yapariblisin.
float verisini 2 parçaya böl.
önce 12 sonra 45 yolla.
ve arada ayraç gibi bir sayıda yolla

mesela 12 - 45 yolladıktan sonra 6 yolla 6 artık göndereceğim data bitti al işle demek olsun.
"You can not send Float or numbers with decimal points through CAN bus. The data send through a CAN Bus should be in a character format and integers, eg '1', '2', '3' . "

Can bus ta float olmuyormuş. Dediğiniz mantıklı ama mcp2515 te 8 tane veri gönderebilirim ben de hepsini kullanıyorum. 100 ile çarpıp göndermeyi deneyeceğim. Ama şu an arastirdigim kadarıyla 0-255 arası gönderiliyor herhalde map ile veriyi dönüştürüp göndereceğim artik biraz doğruluk payı azalacak ama cok sorun degil benim aklima suan bu geldi.
 
@karavela, @taydin nın dediği gibi "Dijital devrelerde veri iletimi binary olduğuna göre, her türlü veri gönderilebilir...."
Yeter ki veri hem gönderen hem de alan tarafında aynı formatta olsun. Bunu "union" veya "bitwise structure" yapıları ile yapanlar var.
Basit bir örnek olarak veri de belli bir accuracy var ise yani örneğin 0.1 adımlar ile veri değişiyorsa, LSB biti değeri 0.1 kabul edilerek ölçekleme yapılır, karşı tarafta da aynı yöntem tersten uygulanarak veri geri dönüştürülür.
 

Benzer konular

Çevrimiçi personel

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,989
Mesajlar
102,193
Üyeler
2,517
Son üye
Dzenit

Son kaynaklar

Son profil mesajları

deneyci wrote on hakan8470's profile.
Sibonge uNkulunkulu ngokuhlukahluka asinike kona.

Bu hangi dil? :)
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
Back
Top