pensante Inserito: 6 dicembre 2004 Segnala Share Inserito: 6 dicembre 2004 Salve ragazzi, ho un problema con la gestione dell'usart di un pic 16f877.Vorrei sapere se una volta seguiti i passi di normale routine di settaggio, descritti nel data-sheet della microchip (sempre se eseguiti bene), per la trasmissione di un byte basta solo immettere nel registro TXREG il byte da inviare e in automatico il pic invia il pacchetto???Vi prego delucidatemi sulla gestione dell'usart.grazie!!!! in anticipo Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 6 dicembre 2004 Segnala Share Inserita: 6 dicembre 2004 Ciao.Io uso questo semplice codice C per trasmettere un byte con l'UARTvoid init(){ // Inizializzazione UART SPBRG = 8; // 28800 bit/sec (RS232) set_bit(TXSTA, BRGH); // alta velocita clr_bit(TXSTA, SYNC); // modalità asincrona set_bit(TXSTA, TXEN); // abilita trasmissione set_bit(RCSTA, CREN); // abilita ricezione set_bit(PIE1, RCIE); // abilitazione interruzione in ricezione set_bit(RCSTA, SPEN); // abilita UART set_bit(INTCON, PEIE); // abilitazione interruzione periferiche }void putc(char c) // Trasmette un byte{ while(trmt == 0); // aspetta che trmt (= TXSTA.1) vada a uno TXREG = c;}Anche se non usi il C credo che il codice sia facilmente traducibile in assembly.Ciao. Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 10 dicembre 2004 Segnala Share Inserita: 10 dicembre 2004 per la trasmissione di un byte basta solo immettere nel registro TXREG il byte da inviare e in automatico il pic invia il pacchetto??? 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