OzneD Inserito: 30 ottobre 2012 Segnala Share Inserito: 30 ottobre 2012 Cari amici del forum sono nuovo e non sò se è corretto postare quì questa domanda, sto usando due schede elettroniche con microcontrollori PIC18F45K80 e stò cercando di trasmettere un DATA FRAME attraverso il MODULO ECAN in modalità "REQUESTS NORMAL MODE" da un microcontrollore all'altro, impostando l'ID del DATA FRAME da trasmettere (su un microcontrollore) uguale a quello del FILTRO associato al BUFFER IN RICEZIONE (sull'altro microcontrollore) la trasmissione avviene correttamente e l'ACKNOWLEDGE SLOT viene settato con un bit dominante "0", invece mettendo due ID diversi tra loro non si causa l'ACKNOWLEDGE ERROR come dice il protocollo bosch, premetto che il DATA FRAME che trasmetto quando imposto gli ID diversi non viene ricevuto da nessun buffer in ricezione su l'altra scheda e quindi stando a quanto dice il protocollo "Se nessun nodo ha ricevuto correttamente il frame si verifica un ACKNOWLEDGE ERROR e un error frame è generato e il messaggio (data frame) viene ripetuto, io controllando con l'oscilloscopio sulla connessione del CAN BUS ho notato che mettendo gli ID diversi il messaggio che invio non viene ripetuto non rispettando il protocollo ma se scollego il CAN BUS dalla scheda preposta a ricevere il messaggio viene ripetuto come dice il protocollo, SPERANDO CHE LA DESCRIZIONE DEL MIO PROBLEMA SIA STATA CHIARA ,SPERO CHE QUALCUNO MI POSSA AIUTARE A CAPIRE COME RIUSCIRE A FAR RIPETERE IL MESSAGGIO QUANDO NON VIENE RICEVUTO (cioè quando imposto gli ID diversi), RINGRAZIANDOVI ANTICIPATAMENTE ASPETTO UNA RISPOSTA. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 30 ottobre 2012 Segnala Share Inserita: 30 ottobre 2012 Hai aperto 2 discussioni sul medesimo argomento. Pratica vioetata dal regolamento perchè causa confusione e disguidi. Se invitato a non reiterare comportamenti contrari al regolamento. Il regolamento lo hai accettato liberamente e dovresti averlo letto; se non lo hai fatto affrettati a farlo e leggi anche le FAQ. Link al commento Condividi su altri siti More sharing options...
OzneD Inserita: 30 ottobre 2012 Autore Segnala Share Inserita: 30 ottobre 2012 SCUSATE NON SAPEVO IN QUALE SEZIONE DEL FORUM ANDAVA POSTATA LA MIA DOMANDA. Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 6 novembre 2012 Segnala Share Inserita: 6 novembre 2012 Non ho capito molto bene il tuo problema, ma ti sottopongo alcune considerazioni: 1) in risposta ad un messaggio inviato si avra' un ACK se un nodo QUALUNQUE nella rete riceve il messaggio (ACK indica che il msg e' corretto; non vuol dire che il messaggio inviato e' sato "raccolto" dal nodo interessato) 2) se hai ID e filtri corretti ti ritrovi il msg nel nodo destinatario (tramite interrupt o polling) 3) per informare il nodo mittente della avvenuta ricezione, il destinatario DEVE spedire un messaggio al mittente. Buon lavoro Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora