tntfnc Inserito: 18 febbraio 2010 Segnala Share Inserito: 18 febbraio 2010 ho un problema nell'inizializzare correttamente i registri per la pic 18f4525..riporto in allegato le inizializzazioni che ho fatto in modo da poter capire meglio dove è l'errore.PROCESSOR 18F4525 RADIX DEC INCLUDE "P18F4525.INC" ERRORLEVEL -302__CONFIG_LVP_OFF __CONFIG_WDT_OFF__CONFIG_HS_OSC__CONFIG_BODEN_OFF__CONFIG_PBADEN_OFF CBLOCK 0x0C count:1 time:1 distance:2 ENDC CBLOCK 0x00 ENDC clrf PORTA movlw 07h movwf ADCON1 movlw 07h movwf CMCON movlw B'10000001' movwf PORTA clrf PORTB movlw 0Fh movwf ADCON1 movlw B'11001111' movwf TRISB movlw B'11000000' movwf TRISC movlw B'00000000' movwf TRISD movlw B'000000' movwf TRISE bcf INTCON,GIE bcf INTCON,PEIE bcf INTCON,RBIE movlw B'11000111' movwf T0CON movlw 31 movwf SPBRG bcf TXSTA,SYNC bcf TXSTA,BRGH bcf BAUDCON,BRG16 bsf RCSTA,SPEN bsf TXSTA,TXEN questo pic deve essere predisposto per accendere 2 led nei pin RB4, RB5 e trasmettere tramite porta serialecredo che il problema possa essere nel mettere gli ingressi e le uscite come digitali.come posso risolvere il mio problema? Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 18 febbraio 2010 Segnala Share Inserita: 18 febbraio 2010 Ciao.Scusa, ma non ho capito deve hai il problema: forse nel codice che non hai riportato.Le porte mi sembrano configurate correttamente, per cui se usi "bsf PORTB,x" (X=4 o 5) o "bcf PORTB,x" dovrebbero funzionare.Mischiare gli ingressi in input e output si fa abitualmente. Link al commento Condividi su altri siti More sharing options...
tntfnc Inserita: 18 febbraio 2010 Autore Segnala Share Inserita: 18 febbraio 2010 Grazie per aver risposto, ma purtroppo ho fatto quello che dici, ma non mi si accendono lo stesso.. è per questo motivo che ho pensato fosse un problema di inizializzazione..ma come si impostano gli I/O come digitali? Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 19 febbraio 2010 Segnala Share Inserita: 19 febbraio 2010 In generale, i pin dei micro possono essere configurati per svariate funzioni: input, output, analogici, Tx/Rx, SPI, PWM, ecc.Nel caso di I/O, c’e’ un registro da 8 o 16 bit (TRISx) dedicato ad ogni porta (A, B, C, …). Nel caso della famiglia PIC18F e' sempre da 8 bit.Se si pone un bit di questo registro a 0, il bit corrispondente della porta è configurato in output; se si pone a 1, il bit della porta è in input.Fine della regola generale.In particolare, bisogna sempre controllare che in pin che vuoi configurare non siano in alternativa con altre funzioni (ad esempio il convertitore A/D): in questo caso bisogna disabilitare la cella del convertitore (ci sono dei registri dedicati).Da come hai configurato le porte, non mi sembra che ci sia problemi di inizializzazione; forse il problema è a valle e non trascurare l’hardware…Questo è un "must": controlla sempre il data sheet del componente ed eventuali documenti di “errata”. Link al commento Condividi su altri siti More sharing options...
tntfnc Inserita: 20 febbraio 2010 Autore Segnala Share Inserita: 20 febbraio 2010 credo di aver capito che il problema sia nell'inizializzazione dei pin che sono inutilizzati.. sapete dirmi come si devono impostare tali piedini?? io finora li ho impostati come uscite, ma credo non basti.. 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