Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] Scambio di valori tra PC e PIC

    Ora spero di aprire nella sezione adatta...vedo che qui hanno trattato il codice [c] anche altri, quindi penso d'aver azzeccato...dai!

    Devo gestire un PIC che riceva e dia dei valori compresi tra 0 e 255.
    Deve riceverli da un programma in VB tramite l'RS-232 e mostrarli in un display collegato alla port B, e ricordare il dato in una variabile che deve dare quando il programma in VB lo richiede.

    Questo che segue è il codice C che avrei buttato giù, annuncio che devo ancora provarlo perchè ora come ora non dispongo di compilatore e circuito di test, ecco perchè scrivo, non vorrei incorrere poi in errori che non capirei come risolvere. Ecco il codice:

    codice:
    //- - - Dichiarazione variabile Unsigned int per contenere valori numerici - - -
    
    
    Unsigned int valore = 0;  // Variabile dedicata a ricordatre il valore trasmesso al PIC attraverso l'RS-232
    
    
    //- - - Fine dichiarazione variabile Unsigned int per contenere valori numerici - - -
    
    
    
    
    
    //- - - Inizio programma di controllo del PIC per comunicazione PC > PIC - - -
    
    
    void main() {
    
    trisb=0;
    portb=0;
    
    	Usart_Int(2400);
    
    inizio:
    
    	if (Usart_Data_Ready)) )  {    // Se il dato è stato ricevuto
    	portb = Usart_Read();	       // Dato ricevuto in uscita su Port B dove c'è il display
    	}
    
      valore = portb // Registro il valore del dato sulla variabile 'valore'
    
    	portb = Usart_Write(); // Alla richiesta del programma in VB pongo in scrittura sull'RS-232 il dato salvato sulla variabile 'valore'
    
    	}
    
    goto inizio
    
    
    }
    
    
    
    //- - - Fine programma di controllo del PIC per comunicazione PC > PIC - - -
    Sintatticamente parlando dovrebbe essere corretto.
    Per il risultato che emette, secondo voi è coerente con il risultato che devo ottenere io?

    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C] Scambio di valori tra PC e PIC

    Il dato dovrebbe essere un

    unsigned char

    dato che è un valore compreso tra 0 e 255

    In secondo luogo, non penso che tu possa gestire un display solamente impostando un dato sulla porta. Ovvero questa riga

    portb = Usart_Read();

    non può funzionare. Dovrai utilizzare una apposita funzione di libreria (se prevista) per inviare il dato al display, ovvero creare tu una funzione che faccia tale lavoro.

    Infine, in questa riga

    portb = Usart_Write(); // Alla richiesta del programma in VB pongo in scrittura sull'RS-232 il dato salvato sulla variabile 'valore'

    non vedo come tu abbia usato la variabile valore. Semmai, se la funzione accetta un parametro, dovrebbe essere

    Usart_Write(valore);

    (ma tu hai le basi della programmazione C, in genere?)

    Per concludere, non usare il goto ma inserisci il tuo codice in un ciclo while ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Le basi le ho....è solo molto tempo che non programmo in VB, tantomeno in C. So che posso sembrare davvero imbranato... che vergogna! XD

    Il software in VB sembra essere ok.


    Quello in C, invece, non saprei come fare per prendere il dato che arriva all'RS-232 e mostrarlo sul display.

    Inoltre, cliccando sul bottone (?) sul prog.fatto in vb (già fatto e a posto) devo prendere il valore che c'è sul pic pewr visualizzarlo poi sulla textbox del prov. in vb.

    Quel che mi manca ora è solo qualche istruzione in C per fare queste informazioni...
    Qualcuno ha qualche consiglio da darmi?

    Grazie mille.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da deluxpc
    Quel che mi manca ora è solo qualche istruzione in C per fare queste informazioni...
    Qualcuno ha qualche consiglio da darmi?
    Scusa la franchezza, ma non ti serve "qualche istruzione" ma qualcuno che ti scriva tutto il codice dopo aver fatto l'analisi del problema ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Scusa la franchezza, ma non ti serve "qualche istruzione" ma qualcuno che ti scriva tutto il codice dopo aver fatto l'analisi del problema ...
    Può essere...

    Il professore comunque diceva che il programma in C per questo progetto era brevissimo... Mha...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da deluxpc
    Può essere...

    Il professore comunque diceva che il programma in C per questo progetto era brevissimo... Mha...
    Può essere, ma deve essere comunque la sequenza giusta di istruzioni ...

    Intanto bisogna capire con quale compilatore (e soprattutto con quali librerie) compili il programma C per il PIC. E poi, come è collegato il display (dato che bisogna chiamare la funzione giusta con i parametri corretti della libreria in questione ...) ...

    E poi ... altro ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.