1)Can ID leri her modül için ayrı ayrı kullanılıyor buna göre öncelik sırası belirleniyor. Mesela bir ıd 0x36 olsun diğeri 0x70 olsun. Hangisi öncelikli veri oluyor ve bu öncelik neye göre belirleniyor?
2) MCP2515 yazınızda yazılımda ilk yapılırken,
mcp2515.setBitrate(CAN_125KBPS, MCP_8MHZ);
Baud hızı değeri ilk 125KBS sonra sonra setup kısmında 500KBS yapmışsınız. Bunun yapılma amacı nedir ve neye göre arttırıp azaltiyoruz?
mcp2515.reset(); mcp2515.setBitrate(CAN_500KBPS,MCP_8MHZ);
2) MCP2515 yazınızda yazılımda ilk yapılırken,
mcp2515.setBitrate(CAN_125KBPS, MCP_8MHZ);Baud hızı değeri ilk 125KBS sonra sonra setup kısmında 500KBS yapmışsınız. Bunun yapılma amacı nedir ve neye göre arttırıp azaltiyoruz?
mcp2515.reset(); mcp2515.setBitrate(CAN_500KBPS,MCP_8MHZ);
Bu kısımda bahsettiğiniz yerler koddan önce anlatım için farklı değerlerinde verileceğini göstermek için yapıldı, eğer alt kısma yani kodun oldu kısma inerseniz iki modülünde
mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ);
olarak başlatıldığını görebilirsiniz.
Öncelik sırası modül adresleri ile bağlantılı değildir, gönderilen mesajın "IDE" yani Identifier kısmı önceliği belirler.
Burada görünen tanımlayıcı.
Birden fazla CAN cihazı aynı anda bir mesaj ilettiğinde, hangi cihazın ağa erişim kazanacağını belirlemek için tanımlayıcı öncelikli olarak kullanılır. Tanımlayıcının sayısal değeri ne kadar düşükse, önceliği o kadar yüksek olur.
Örnek IDE önceliği:
Cihaz A: ID = 11001000111 (647 hex)
Cihaz B: ID = 11011111111 (6FF hex)
Cihaz B önceliği kaybeder; A cihazı önceliği kazanır
İlgili yazılar: