IlRe Inserito: 1 aprile 2004 Segnala Share Inserito: 1 aprile 2004 salve a tutti, il mio problema con il pic 16f873 è quello di non riuscire a ricevere 2 byte alla volta..ho seguito le istruizioni ,per scrivere il programma, contenute nel data sheet ma non funziona...qlk1 sa darmi qlk dritta o ha gia un programma di ricezione con questo pic e la porta seriale?Grazie in anticipoCiao Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 1 aprile 2004 Segnala Share Inserita: 1 aprile 2004 Io lo ho adoperato in un progetto e utilizzavo proprio la seriale su interrupt e ti posso dire che non mi ha dato alcun problema di sorta.Il codice pero' e' fatto per il compilatore C della CCS , se cerchi degli esempi sulla seriale in Assembler , il sito della Microchip ne e' pieno.Ciao Link al commento Condividi su altri siti More sharing options...
IlRe Inserita: 1 aprile 2004 Autore Segnala Share Inserita: 1 aprile 2004 mn...sei sicuro k ci siano?...xk non c'e nulla di esempi...almeno nel sito della microchip....sai darmi qlk ksa di piu preciso? Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 1 aprile 2004 Segnala Share Inserita: 1 aprile 2004 Prima di tutto devi essere sucuro che la porta sia configurata bene.Se ci dici come hai configurato il tutto ti posso dire se ci sono degli errori.Se tutto e' in regola , il modulo USART del pic quando riceve un byte lo carica nel registro RCREG e alza il bit RCIF nel registro PIR1 .Il modulo ha un buffer di due Byte quindi puo' ricevere 3 byte prima di andare in errore .Quando leggi il registro RCREG automaticamente il modulo carichera' nello stesso il prossimo byte ( se disponibile).Se non ci sono piu' caratteri ricevuti automaticamente il bit RCIF e forzato a zero.per poter leggere piu' byte devi fare un loop che controlla RCIF e trasferice il contenuto di RCREG in una tua variabile.Se il tuo programma e' molto lungo ti consiglio di usare l'interrupt per leggere il dato.Se scrivi qui' la tua routine , possiamo vedere di correggerla. Link al commento Condividi su altri siti More sharing options...
IlRe Inserita: 2 aprile 2004 Autore Segnala Share Inserita: 2 aprile 2004 ok grazie mille...il mio problema ora era leggere due byte...ma ora ho risolto ...grazie!!! Link al commento Condividi su altri siti More sharing options...
bit Inserita: 2 aprile 2004 Segnala Share Inserita: 2 aprile 2004 (modificato) Scusa, ma sarebbe utile che tu postassi il tuo problema e la soluzione che hai trovato.Sul forum ci sono persone che sono disposte ad aiutarti, ma anche persone interessate a imparare consultando le soluzioni adottate da altri...Ciao! Modificato: 2 aprile 2004 da bit Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 2 aprile 2004 Segnala Share Inserita: 2 aprile 2004 Scusa, ma sarebbe utile che tu postassi il tuo problema e la soluzione che hai trovato. Link al commento Condividi su altri siti More sharing options...
IlRe Inserita: 2 aprile 2004 Autore Segnala Share Inserita: 2 aprile 2004 c'e lo a scuola....a breve lo metto! Link al commento Condividi su altri siti More sharing options...
IlRe Inserita: 17 maggio 2004 Autore Segnala Share Inserita: 17 maggio 2004 vi aggiungo il programma testato in tutte le salse.....list p=16f873, f=inhx8mSPBRG EQU 99TXSTA EQU 98RCSTA EQU 18PIE1 EQU 8CPORTB EQU 06TRISB EQU 86RCREG EQU 1APORTC EQU 07TRISC EQU 87PIR1 EQU 0CPORTA EQU 05TRISA EQU 85 ORG 0000 BANKSEL 80 MOVLW 0FF MOVWF TRISC MOVLW 00 MOVWF TRISB BANKSEL 00 MOVLW 00 MOVWF PORTB BANKSEL 80 MOVLW 40 MOVWF SPBRG BCF TXSTA,2 BCF TXSTA,4 BCF TXSTA,6 BCF PIE1,5 BANKSEL 00 BCF RCSTA,3 BSF RCSTA,7 BCF RCSTA,5 BCF RCSTA,6 BCF RCSTA,2 BCF RCSTA,1 BSF RCSTA,4RICE NOP BTFSS PIR1,5 GOTO RICE MOVF RCREG,0 MOVWF PORTB GOTO RICE END Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 18 maggio 2004 Segnala Share Inserita: 18 maggio 2004 Ti do un consiglio , visto che stai studiando e poi ti servira' per tutta la vita :quando fai un programma mettigli sempre dei bei commenti (in assembler si fa con un ; seguito dal commento alla destra dell'ultima istruzione) , ti assicuro che cio' sara' utile a te quando andrai a riprendere in mano il tuo lavoro a distanza di tempo e a quei poveri disgraziati che dovranno prendere in mano il tuo lavoro.Ciao 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