Vai al contenuto
PLC Forum


Interfaccia Seriale Tra Pc E Circuito Per Visualizzazione Di Un Caratt


robin87

Messaggi consigliati

salve a tutti

vorrei 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.png

per 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 MSCOMM

Ecco 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 Sub

Private 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 If

End Sub

arrivato 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 tutti

grazie a tutti

ROberto

Link al commento
Condividi su altri siti


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.

Link al commento
Condividi su altri siti

ciao uso il compilatore PICCLITE scaricabile gratuitamente sul web.

la libreria delay quando installi il compilatore già c'è.

cosa posso fare?

ROberto

Link al commento
Condividi su altri siti

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 impostarlo

Per 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

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...