rs485 e PIC

ciao,

sto provando a collegare 2 pic utilizzando rs485, vorrei una comunicazione bidirezionale, nel senso che entrambi i pic di tanto in tanto possono mandare messaggi all'altro.

Uso un sn75176 colegato alle porte b6(tx) e b7(rx) e gestisco la trasmissione tramite porta b5.

ogni messaggio è formato da 2 byte, il primo è un identificativo e l'atro è un comando.

dopo l'accensione di entrambe il pic che manda il primo messaggio è come se venisse bloccata in ricezione cioè trasmette sempre bene ma non riesce a ricevere i dati del'altra. facendo delle prove ho visto che quando spedisce il primo messaggio, viene attivato l'interrupt di ricezione, come se ricevesse gli stessi dati che invia e che questi bloccassero il buffer di ricezione. e comunque durante la trasmissione ho disattivato gli interrupt globali ma continua ad attivarmi l'interrupt seriale.

ho inserito un comando di ricezione dati fittizio temporizzato e con questo è miglirata un pochino la cosa, ma continuano ad esserci ancora molti messaggi spuri dopo la trasmissione. ho fatto tute le prove possibili sull'sn75176 pensando che fosse un problema di rmbalzi sulla linea, con resistenze di terminazione da 120ohm., con resistenze di pullup e pulldown da 560ohm con terminazione 120ohm e 4,7kohm senza resistenza di terminazione, a la situazione resta immutata!

la comunicazione mi rimane perfetta in una sola direzione!!

suggerimenti? quale altra prova posso fare??

come si svuota il buffer di ricezione dopo aver inviato un dato??

Reply to
emili
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.