Haberler:

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

Ana Menü

STM32F4 CAN BUS ÇALIŞMASI

Başlatan dmc1, 29 Eylül 2016, 09:13:44

M_B

#15
Alıntı yapılan: skara1214 - 30 Eylül 2016, 17:40:05
filtreleme şöyle çalışıyor. Filtre önemli değil ona uygulanan mask önemli .
Nasıl yani;
filtre binary olarak yazarsak;
1001 0100 1100 1001
maskta;
1111 0000 0000 0011
maskın 1 olduğu yer önemlidir yani gelen hangi mesaj kabul edilir;
1001 xxxx xxxx xx01


Hocam biraz daha aciklayabilirmisiniz.


mesaj birleştirme:: 30 Eylül 2016, 17:50:00

Hocam bu duruma gore 1/2/3 numaralı id leri alır onun dışındakileri almaz. Doğru mu?
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

skara1214

hocam verdiğim örnekte id16 bit kabul ettim normalde(standart ,extended değil) 11 bittir tam olarak doğru bir örnek vermek gerekirse;
receiver bufferin ID si:    111 1111 0110 olsun
bu receive buffera uygulanan maskta : 000 1001 1001 olsun
bu receiver buffer bu mask bu id ile kabul edeceği id ;
xxx 1xx1 0xx0 dır
yani sadece 0. 3. 4. ve 7. biti karşılaştırılır. Geri kalan bitlerin hiçbir önemi yoktur.  yani Maskta 1 olan bit ciddiye alınır.
bu sistemde;
0.biti 0 3. biti 0 4. biti 1 7.  biti 1 olan mesaj kabul edilir. geri kalan bitlerin önemi yoktur. bu 4 çakışma tam anlamıyla olmazsa o mesaj ciddiye alınmaz
Herkes ölür ama herkes gerçekten yaşamaz

1n4001

CANBus'ta filtreleme işi almak istediğiniz ID'nin / ID'lerin maskelenmesi ile yapılıyor.
http://www.cse.dmu.ac.uk/~eg/tele/CanbusIDandMask.html
adresinde örnekler var. İsterseniz birden fazla ID'yi de maskeleme yapabilirsiniz.