Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    6

    visibilità variabili

    Ciao a tutti, dato che ho sempre scritto piccoli codici in c, ho dei problemi sulla visibilità delle variabili tra diversi source file.
    Nel main.c ho una routine che conta quante volte viene premuto un pulsante e il valore viene memorizzato in una variabile di tipo int,
    codice:
    while (j==1) { 		if (!left) { 		   button_debouncing(); 	       _delay_ms(250); 		   i++; 		   } 		else if (!right)  { 		   button_debouncing(); 	       _delay_ms(250); 		   i--; 		   }          unsigned char button_counting (int i);    		lcd_gotoxy(8,3); 		lcd_puts(displayed);   		 }
    tale valore deve essere poi usato dalla funzione unsigned char button_counting (int i) ed essere traformato in una stringa per essere visualizzato su un lcd. Tale funzione si trova invece nel file button.c.
    codice:
    unsigned char button_counting (int i) {     unsigned char displayed [8];   sprintf(displayed, "%d", i);   return displayed[8];   }
    Il mio problema è come passare il valore di i nel main.c alla funzione nel button.c.
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Così come hai inviato il codice, non si capisce nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    6
    Mi spiego meglio:il codice è scritto per il micro della ATMEL ATMEGA32.
    Il mio problema è capire, in generale, come passare i valori delle variabili tra file.c diversi all'interno dello stesso programma.
    Es:
    #include <button.h>
    ....
    ....
    ....
    void main (void) {
    ...
    ...
    if (premo +) {
    i++;
    else if (premo -) {
    i--;
    }
    button_count(i);
    lcd_visualizza(displayed);
    }

    Nel button.c ho la funzione button_count che deve convertire la variabile di tipo int i nella variabile di tipo char displayed e restituire tale valore nuovamente al main.

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La funzione button_counting non può essere quella ... è sbagliata ...

    L'hai scritta tu o l'hai trovata ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    6
    La funzione button_counting è:

    unsigned char button_counting (int i) {
    unsigned char displayed ;
    ssprintf(displayed, "%d", i);
    return dispayed;
    }

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Il linguaggio va espressamente indicato nel titolo.
    Va bene usare i tag CODE per il codice... basta avere cura di postarlo in modo leggibile (facendo copia-incolla da un qualunque editor che mantenga l'indentazione e avendo cura che ci sia un ritorno a capo si ciascuna riga...).

    Aggiungo il titolo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da loutek
    La funzione button_counting è:

    unsigned char button_counting (int i) {
    unsigned char displayed ;
    ssprintf(displayed, "%d", i);
    return dispayed;
    }
    No ... non è questa quella che hai proposto ... l'hai copiata male?

    Insomma ... non si capisce neanche da dove partiamo ...

    Dichiara un vettore di char esternamente alla funzione (nel button.c) e dichiarala extern nel main.c. A questo punto la puoi usare.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.