- Messaggi: 252
- Ringraziamenti ricevuti 0
Comunicazione in seriale, mediante tranceiver max485
- FABRIZIO
-
Autore della discussione
- Elit Utente
-
Less
Di più
6 Mesi 4 Giorni fa - 6 Mesi 4 Giorni fa #1
da FABRIZIO
Comunicazione in seriale, mediante tranceiver max485 è stato creato da FABRIZIO
Buongiorno a tutti, ho creato 2 schede, la prima gestita da un PIC16F18877 e la seconda da un PIC16F690; la prima scheda è la centralina di un antifurto e la seconda gestisce una tastiera 4x4 a matrice che serve a gestire l' antifurto; il mio problema è che non riesco a far comunicare totalmente le due schede, ma in maniera parziale perché il PIC16F690 trasmette e il PIC16F18877 riceve, ma non riesco a fare il contrario, cioè far ricevere quello che il PIC16F1877 trasmette; secondo voi i baud sono corretti visto che almeno in un senso la comunicazione funziona? Nel PIC16F18877 sono settati così:BRGH = 1; BRG16 = 0; //Settaggio per velocit� di comunicazione (baud rate) 9600 SPBRG = 207; con oscillatore interno a 32 MHz
Mentre che nel PIC16F690 sono settati così: comunicazione a 9600 BRGH = 1; SPBRG = 51 BRG16=0;
Oscillatore interno a 8MH
Mentre che nel PIC16F690 sono settati così: comunicazione a 9600 BRGH = 1; SPBRG = 51 BRG16=0;
Oscillatore interno a 8MH
Ultima Modifica 6 Mesi 4 Giorni fa da FABRIZIO.
Si prega Accesso o Crea un account a partecipare alla conversazione.
5 Mesi 3 Settimane fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Comunicazione in seriale, mediante tranceiver max485
Salve Fabrizio,
i due PIC appartengono a famiglie diverse, e le UART sono un poco diverse. Mi inviii la configurazione che usi per uno e l'altro PIC?
Hai errori di compilazione?
In generale, per limitare errori, è bene che in progetti fatti in casa si faccia uso sempre dello stesso PIC o famiglia.
In questo modo puoi usare molto del condiche che scrivi, per ogni progetto.
Saluti,
Mauro Laurenti
i due PIC appartengono a famiglie diverse, e le UART sono un poco diverse. Mi inviii la configurazione che usi per uno e l'altro PIC?
Hai errori di compilazione?
In generale, per limitare errori, è bene che in progetti fatti in casa si faccia uso sempre dello stesso PIC o famiglia.
In questo modo puoi usare molto del condiche che scrivi, per ogni progetto.
Saluti,
Mauro Laurenti
Si prega Accesso o Crea un account a partecipare alla conversazione.
5 Mesi 3 Settimane fa #3
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Comunicazione in seriale, mediante tranceiver max485
Inoltre, ricordati sempre di cambiare la direzione scrittura e lettura nel bus RS485, e di attivare il driver.
Dopo il cambio, metti 1ms di attesa, prima di inviare i dati.
Lo slave può essere sempre in ricezione.
Lo slave se è sempre in ricezione, vuol dire che riceve dati anche quando trasmette, per cui li devi gestire.
Se non lo fai il modulo UART si blocca a causa di errori (buffer overflow).
Saluti,
Mauro Laurenti
Dopo il cambio, metti 1ms di attesa, prima di inviare i dati.
Lo slave può essere sempre in ricezione.
Lo slave se è sempre in ricezione, vuol dire che riceve dati anche quando trasmette, per cui li devi gestire.
Se non lo fai il modulo UART si blocca a causa di errori (buffer overflow).
Saluti,
Mauro Laurenti
Si prega Accesso o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
