papero Inserito: 18 febbraio 2006 Segnala Share Inserito: 18 febbraio 2006 Ciao a tutti!Ho un problema con un 16f628 ed un lcd 16X2...Ho realizzato un circuito di prova collegando il pic alla rs232 del pc tramite la sua usart, inoltre è connesso un lcd configurato a 4 bit alla portb per visualizzare eventuali dati.Inviando un testo dal pic al display, tutto è regolare, ma quando cerco di visualizzare dei caratteri ricevuti dalla seriale, mi visualizza caratteri strani...Penso sia un problema di conversione dei dati, qualcuno mi può aiutare?per ora mi interessa solo la linea Rx del pic, quindi molto semplice la cosa... Visualizzare sul display i caratteri che ricevo dal pc.......Grazie! Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 18 febbraio 2006 Segnala Share Inserita: 18 febbraio 2006 io comincerei dalle cose semplicitrasmetti al PC il carattere ricevuto così sei sicuro di cosa riceve il PIC e della configurazione della porta baudrate ecc..Poi di prima botta penserei all'interrupt di seriale che interferisce con la scirttura lcd. però non so se tu ricevi dati mentre scrivi oppure ricevi e scrivi in sequenza. se puoi aggiungi altre informazioni.Se scrivi in asm un'altra possibilità è che il tuo interrupt non salva o non ripristina lo stato correttamente.se puoi aggingi dettalgi sulla procedura ciao Link al commento Condividi su altri siti More sharing options...
papero Inserita: 19 febbraio 2006 Autore Segnala Share Inserita: 19 febbraio 2006 Non scrivo in asm, sto usando mikrobasic versione free.Riguardo al collegamento ho attivo in questo circuito solo la linea rx del pic.Comunque ne ho un altro con entrambe le linee, ma senza lcd.Preciso che il circuito ha una interfaccia 232-485 sul pc ed una 485-pic sul micro.I comandi sembra che arrivano bene, testati con la precedente scheda, solo che non so se i dati che riceve tramite la usart, possano essere inviati al display direttamente o devono essere prima convertiti.Grazie! Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 19 febbraio 2006 Segnala Share Inserita: 19 febbraio 2006 (modificato) ciao papero si fa la notte...non credo ci sia bisogno di convertirli guarda la tabella del display ma penso che i caratteri dal 32(spazio) al 122('z') dovrebbero corrispondere ai normali caratteri ascii. Anzi no non serve perchè se visualizzi bene il testo dal PIC è OK.Piuttosto guarda il collegamento 485 può esserci qualche problema nella commutazione, non hai niente per veder cosa passa sulla seriale (oscilloscopio o simili). POtresti forzare i due driver nella direzione PC-->PIC tanto ti basta solo trasmettere dati al PIC.Non puoi spostare l'LCD sull'altro PIC sono una decina di fili ma forse non è tempo buttato.Altra idea puoi scaricare un codice che fa cosìse riceve la lettera 'A' commuta un pin qualsiasi del micro. In partenza lo conifugri alto e quando ricevi 'A' lo metti basso. Così sei sicuro di quello che ricevi.io sono qui ancora per un po se vuoi chiama ciaoscusa papero ho riletto il thread e mi è venuto un dubbio ma tu gli mandi via dati con un protocollo bello e pronto o provi con programmi tipo hyperterminal.Io inizialmente proverei a mandare caratteri singoli con hyperterminal. Modificato: 19 febbraio 2006 da accacca Link al commento Condividi su altri siti More sharing options...
papero Inserita: 19 febbraio 2006 Autore Segnala Share Inserita: 19 febbraio 2006 Eccomi, stavo pensando di spostare lcd sull'altro circuito, almeno riesco a vedere anche cosa mi ritorna.La cosa strana è quando gli faccio interpretare il dato ricevuto sembra che non lo riconosce.Mi spiego meglio, se gli dico quando ricevi la "A" poni alto un pin, non me lo pone mai alto...Di solito assegno ad una variabile la lettera "A", poi faccio il confronto con quello che ricevo, ma è come se i due dati sono completamente diversi!Comunque mi hai dato una bella idea, l'altro circuito ha anche la porta seriale "pura" con un max232, quindi gli porto lcd e posso provare a fare molte più prove.Cambia solo il pic, il secondo circuito porta un 18F252, ma se ci riesco con questo sono a posto.Scusa la rottura, ma è da poco che interfaccio un lcd con una usart!Grazie dei consigli! Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 19 febbraio 2006 Segnala Share Inserita: 19 febbraio 2006 Prima assicurati che la seriale trasmetta correttamente (con gli stessi parametri budrate , parita' ecc...)Poi quando sei sicuro di ricevere e decodificare i dati correttamente provi con l'LCDCiao Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 19 febbraio 2006 Segnala Share Inserita: 19 febbraio 2006 papero dall analisi dei sintomi risulta questo1.- La procedura PIC LCD sembra corretta perchè il PIC scrive il testo da memoria a LCD correttamente2.- La procedura di comunicazione seriale sembra corretta perchè l'altro PIC riceve correttamente.A questo punto io vedo due possibili cause La 485 che non hai testato nel PIC con cui hai provato la serialeLa concomitanza dei due eventi scrittura LCD e ricezione seriale cosa mai provata fino ad oraSe il test carattere ricevuto non ha successo la 485 è sicuramente un problema Se poi non funziona ancora io guarderei gli interrupt.ciao Link al commento Condividi su altri siti More sharing options...
papero Inserita: 19 febbraio 2006 Autore Segnala Share Inserita: 19 febbraio 2006 Sto facendo dei test, ho appena finito di collegare il display al 18f252, con entrambe le linee di trasmissione attive.Il solo display funziona, ora provo a farlo "parlare" con la seriale...La cosa buona che su questo pic il display e la usart sono su due porte differenti.Vediamo... Link al commento Condividi su altri siti More sharing options...
papero Inserita: 19 febbraio 2006 Autore Segnala Share Inserita: 19 febbraio 2006 Rieccomi qua...Allora, ho effettuato le prove che mi avete consigliato ed in effetti qualcosa non va bene...Trasmetto tramite la seriale una lettera, la memorizzo in una variabile tipo BYTE, e dopo un secondo la rimando al pc, ritorna un carattere che non è quello...Ho provato a convertirla in formato word, ma niente, non cambia nulla...Avete consigli? .......... Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 19 febbraio 2006 Segnala Share Inserita: 19 febbraio 2006 (modificato) Prima assicurati che la seriale trasmetta correttamente (con gli stessi parametri budrate , parita' ecc...) Modificato: 19 febbraio 2006 da accacca Link al commento Condividi su altri siti More sharing options...
papero Inserita: 19 febbraio 2006 Autore Segnala Share Inserita: 19 febbraio 2006 Ho deciso di fare la prova eliminando i 485.Collego la 232 al pic tramite il buon max232, almeno mi assicuro che non è un problema di "rete".Come impostazioni della com ho le classiche 9600,8,0,1,0Vi faccio sapere... 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