robin87 Inserito: 30 marzo 2006 Segnala Inserito: 30 marzo 2006 salve a tuttivorrei creare, come da titolo, un circuito che, premendo un tasto mi visualizzi un carattere a video.come circuito ho provato a creare questo:http://img82.imageshack.us/img82/5928/telecomando8ol.pngper quanto riguarda il sorgente in C per il Pica16f84:#include <pic1684.h>#include "delay.c"main (void){ TRISB=0; TRISA=1; if (PORTA==0b0010) { PORTB=0b00000000;//bit start DelayUs(104); PORTB=0b00000100; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000000; DelayUs(104); PORTB=0b00000100;//bit stop DelayMs(100); }}per quanto riguarda la parte sw lato pc ho usato Visual Basic tramite il comando MSCOMMEcco il programma:Private Sub Form_Load() MSComm1.CommPort = 1 ' Selezioniamo la COM1 MSComm1.Settings = "9600,n,8,1" ' Le impostazioni della seriale MSComm1.RThreshold = 1 ' voglio essere informato della ricezione di ogni singolo carattere MSComm1.PortOpen = True ' Apriamo la porta.End SubPrivate Sub MSComm1_OnComm() Dim Rx$ Rx$ = MSComm1.Input ' Leggo il contenuto del buffer di ricezione (e svuoto .Input) If Len(Rx$) Then ' Se ho ricevuto qualcosa lo scrivo nella TextBox Text1.Text = Text1.Text & Rx$ End IfEnd Subarrivato a questo punto quando faccio partire il prog in VB mi compare una textarea dove lì troverò il carattere da me premuto sul circuito.quando premo il pulsantino devo aspettare un 2-3 sec prima di vedere questo carattere "|".secondo voi funziona ho c'è qualche problema??come stranezza che ho riscontrato è stato il fatto di tenere premuto per 2-3 sec il pulsantini altrimenti non mi usciva nulla.infatti io volevo che immediatamente appena premuto il pulsantino mi usciva qualcosa.mi servirebbe un grosso aiuto da parte vostra.confido in voi tuttigrazie a tutti ROberto
dlgcom Inserita: 30 marzo 2006 Segnala Inserita: 30 marzo 2006 Ciao ,Ti sei dimenticato di dire quale compiatore C stai usando per il pic.Per esempio per il CCS per poter usare il Delay , devi dichiarare la frequenza di clock del tuo pic.Potrebbe essere un problema di temporizzazioni e la seriale del pc non riesce a riconoscere il byte.
robin87 Inserita: 31 marzo 2006 Autore Segnala Inserita: 31 marzo 2006 ciao uso il compilatore PICCLITE scaricabile gratuitamente sul web.la libreria delay quando installi il compilatore già c'è.cosa posso fare?ROberto
dlgcom Inserita: 31 marzo 2006 Segnala Inserita: 31 marzo 2006 Prima cosa , io non uso questo compilatore ma ho scaricato il manuale e il prg.Nell include devi mettere il delay.h se il tuo clock e di 4 mhz non devi fare niente ,ma se e' diverso devi impostarloPer sapere come , apri il file delay.h ci sono tutte le spiegazioni.Altra cosa , negli esempi ci sono anche delle routine per la seriale gia fatte , potresti partire con quelle
robin87 Inserita: 31 marzo 2006 Autore Segnala Inserita: 31 marzo 2006 grazie per il consiglio. provvederò al + presto.intanto se hai qualche altro suggerimento lo accetterò volentieri.ciaoRoberto
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