matmor Inserito: 1 giugno 2006 Segnala Inserito: 1 giugno 2006 Salve è da poco che lavoro con i picancora menocon la rs232ho aquistato un display a segmenti rs232nelle istruzione mi si chiede di inviare la stringa di 5 bytechr$(13) iniz. per laricezionechr$(1) identifica id displaychr$(65) comando specifico displaychr$(48) carattere"0"chr$(129) checksumIl risultato dovrebbe essere "0"Ho realizzato questo programma con un pic 16f877a su la demo board easypic3che ha gia incorporato un max232 per la conversione delle tensioni etc.con il display non succede assolutamente nientecosi ho provato a collegare la demoboard con il mio programmino al pcattraversol'usart terminal ho visto che i dati mi arrivano in questaposizione1316548129è sbagliato il programma? o c'è qualcosa che non va con il display????GRAZIEprogram adcusartdim i as bytedim temp_res as bytedim data as byte[5]main: UsART_init(2400) ' initalize USART (9600 baud rate, 1 stop bit, ...'''' select Vref and analog inputs, in order to use ADC_read '''''''/ 'ADCON1 = 0 ' all porta pins as analog, VDD as Vref 'TRISA = 0xFF ' all porta pins as inputs'''''''''''''''''''''''''''''''''''''''' data[0]=13 data[1]= 1 data[2]=65 data[3]= 48 data[4]= 129 i=0 ' read conversion result and push delay_ms(5) for i=0 to 4 ' upper byte to temp_res UsART_Write(data) ' send temp_res via USART next i end.
matmor Inserita: 5 giugno 2006 Autore Segnala Inserita: 5 giugno 2006 ciao a tuttivisto che ancoranessuno mi ha dato una rispostaripropongo la domanaio vorrei inviare via rs232 questa stringachr$13chr$1chr$65chr$48chr$129come faccio???
PicPassion Inserita: 5 giugno 2006 Segnala Inserita: 5 giugno 2006 Ciao matmor,se può esserti d'aiuto ti posso inviare una routine in visual basic per inviare la sequenza di caratteri.
matmor Inserita: 5 giugno 2006 Autore Segnala Inserita: 5 giugno 2006 ti ringrazio moltosicuramente mi sarebbe d'aiuto
Hellis Inserita: 5 giugno 2006 Segnala Inserita: 5 giugno 2006 (modificato) puoi anche provare con hyperterminal Modificato: 5 giugno 2006 da Hellis
matmor Inserita: 5 giugno 2006 Autore Segnala Inserita: 5 giugno 2006 ho provatoin tutte le salse non accade nientein pratica io voglio comandare un display rs232con il picho provato tramitepc ma non succede nienteho un'altro topic dove descrivoil tutto
PicPassion Inserita: 8 giugno 2006 Segnala Inserita: 8 giugno 2006 (modificato) Ciao matmor, scusami per il ritardo...Utilizzando Visual Basic 6 dovresti fare quanto segue:1) Creare un progetto "exe standard"2) Nel form devi inserire un "commandbutton" ed il componente "MSComm"2.1) Per inserire "MSComm" devi procedere così: Progetto --> Componenti --> (Scheda Controlli) --> Microsoft Comm Control 6.03) Inserire nel codice del form ( Visualizza --> Codice ) le seguenti righe:Private Sub Command1_Click()MSComm1.CommPort = 1 'numero della porta comMSComm1.PortOpen = TrueMSComm1.Output = Chr$(13)'Sleep (20) 'da utilizzare solo se richiesto ritardoMSComm1.Output = Chr$(1)'sleep (20)MSComm1.Output = Chr$(65)'sleep (20)MSComm1.Output = Chr$(48)'sleep (20)MSComm1.Output = Chr$(129)'sleep (20)MSComm1.PortOpen = FalseEnd Sub4) Inserire un nuovo modulo ( Progetto --> Inserisci modulo ) ed aggiungere il codice: Declare Sub Sleep Lib "kernel32" (ByVal millisecondi As Long)5) AvviareCome puoi notare, nel codice del form la funzione Sleep non viene eseguita ( apostrofo ); questa funzione è stata inserita perchè forse è necessario generare dei ritardi fra l'invio di un byte e l'altro.Se funziona senza il ritardo puoi anche eliminare le righe di codice 'Sleep ed il modulo aggiunto.Se voui utilizzare l'Hyperterminal devi usare il tasto ALT+"numero" prima di inviare byte più piccoli di 32, ad esempio:chr$(13) = ALT+13Spero di essere stato d'aiuto. Modificato: 8 giugno 2006 da PicPassion
PicPassion Inserita: 8 giugno 2006 Segnala Inserita: 8 giugno 2006 Ho dimenticato di aggiungere che se volessi verificare ciò che invia la porta seriale puoi ricorrere al software gratuito (per ora) "hhd serial port monitor", reperibile all'indirizzo:http://www.serial-port-monitor.com/index.html
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