Vizitator bufferzone Postat August 20, 2013 Partajează Postat August 20, 2013 Salut, incerc sa fac o retea can-spi cu 5 microcontrolere insa nu stiu cum sa configurez CANSPISetFilter pentru ca toate cele 5 mcu sa comunice intre ele. Am folosit acest exemplu http://www.libstock.com/projects/view/244/can-spi-5v-click-example dar este pentru 2 mcu. Folosesc Mikro C Pro. Link spre comentariu
crispus Postat August 20, 2013 Partajează Postat August 20, 2013 http://www.mikroe.com/forum/viewtopic.php?f=88&t=55285 Link spre comentariu
Vizitator bufferzone Postat August 20, 2013 Partajează Postat August 20, 2013 Multumesc pentru link dar nu am inteles mai nimic. Eu vreau ca toate MCU sa comunice intre ele. Am urmatoarele ID: #include "init.h"unsigned short current_duty;unsigned int CHECK_TIME = 0;unsigned char COUNTER_CHECK_TIME[7] = { '0' };unsigned char Can_Init_Flags, Can_Send_Flags, Can_Rcv_Flags; // can flagsunsigned char Rx_Data_Len; // received data length in byteschar RxTx_Data[8]; // can rx/tx data bufferchar Msg_Rcvd; // reception flagconst long ID_1 = 111, // IDs nod retea NR. 1 ID_2 = 112, // IDs nod retea NR. 2 ID_3 = 113, // IDs nod retea NR. 3 ID_MST = 12345; Nu stiu cum sa setez CANSPISetFilter pentru ca toate MCU din retea sa primeasca mesajul transmis de unul dintre ele. Multumesc pentru ajutor si mii de scuze daca sunt un pic cam greu de cap. Link spre comentariu
crispus Postat August 20, 2013 Partajează Postat August 20, 2013 Stai ca nu inteleg. Tu vrei ca orice mesaj trimis de oricare MCU sa fie primit de orice MCU? Link spre comentariu
Vizitator bufferzone Postat August 20, 2013 Partajează Postat August 20, 2013 Da, asta vreau. Sa inteleg ca nu este posibil? Link spre comentariu
crispus Postat August 20, 2013 Partajează Postat August 20, 2013 In principiu vrei sa primesti doar mesajele care iti sunt adresate (id-ul mesajului == id-ul device-ului). Daca vrei sa faci broadcast poti trimite la id-ul 0 si le vor primi toate. Daca am inteles eu bine cum e cu can-spi (n-am folosit asa ceva) ai avea 2 variante: - sa trimiti mesaje cu id-ul 0 - sa configurezi can-spi astfel incat sa primeasca toate mesajele: asta ar insemna sa pui masca 0 si sa pui orice id la functia setfilter... (CANSetMask(filtru, 0,_CAN_CONFIG_XTD_MSG); Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum