Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Errore struttura dati

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[41] Re: Errore struttura dati

Messaggioda Foto Utentedaniele1996 » 7 apr 2014, 15:37

@TardoFreak quanto tempo che non ti sentivo :)
Ritorniamo al discorso.
Io ho programmato in java, le variabili statiche sono delle variabili accessibili a tutti tramite un riferimento univoco alla locazione di memoria in ram. (Spero sia così in C++)
I costruttori sono dei metodi speciali che vengono richiamati alla creazione di un oggetto...
(Spero sia tutto così)
Avatar utente
Foto Utentedaniele1996
610 3 8 11
Sostenitore
Sostenitore
 
Messaggi: 1554
Iscritto il: 29 ago 2011, 11:29

0
voti

[42] Re: Errore struttura dati

Messaggioda Foto UtentePietroBaima » 7 apr 2014, 15:38

Foto UtenteTardoFreak, benvenuto nel club degli ardutraumatizzati, di cui purtroppo faccio parte da tempo.
Oggi abbiamo visto anche l'iscrizione di Foto UtenteDirtyDeeds e forse di Foto Utentefairyvilje e Foto Utentesimo85.
Io ho scoperto questo mondo fantastico quando un collega informatico mi ha spiegato che la gente è convinta di saper programmare usando arducoso. Figurati che abbiamo avuto dei candidati che lo hanno scritto sul CV...
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12207
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[43] Re: Errore struttura dati

Messaggioda Foto Utentesimo85 » 7 apr 2014, 15:39

Ecco l'hulk incaxxato calza a pennello anche quando scopri che devi usare le librerie in C++ assegnare un valore al PORTx..

:(
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[44] Re: Errore struttura dati

Messaggioda Foto Utentefairyvilje » 7 apr 2014, 15:44

Bene :)
Allora l'idea è che alla tua struttura manca un costruttore per inizializzare le variabili (tecnicamente non sempre necessario, ma lo si fa comunque) e la matrice se non dipende dall'instanza della struttura la si dichiara statica

Codice: Seleziona tutto
struct StructName{
    static type name;
    StructName();
};

type StructName::name;


StructName::StructName(){
   //Codice di inizializzazione
}


In questo modo "name" è comune a tutti gli oggetti di tipo StructName e può essere inizializzata come dicevi fuori dalla struttura.

Se ti è chiaro lo applichiamo al tuo codice altrimenti ti spiego meglio.
Ultima modifica di Foto Utentefairyvilje il 7 apr 2014, 15:45, modificato 1 volta in totale.
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

0
voti

[45] Re: Errore struttura dati

Messaggioda Foto UtenteTardoFreak » 7 apr 2014, 15:44

daniele1996 ha scritto:Io ho programmato in java, le variabili statiche sono delle variabili accessibili a tutti tramite un riferimento univoco alla locazione di memoria in ram.

Ni,
Una variabile statica rende statica la classe che la contiene, è accessibile solo alle istanze di quella classe ed è univoca, una sola variabile per tutte le istanze. (in Java)
daniele1996 ha scritto:I costruttori sono dei metodi speciali che vengono richiamati alla creazione di un oggetto...
(Spero sia tutto così)

Si, questo anche in C++. Anche se in Java ci sarebbe da fare un discrorsetto particolare sui costruttori.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[46] Re: Errore struttura dati

Messaggioda Foto Utentesimo85 » 7 apr 2014, 15:49

Pietro, io la vedo così. Non mi è mai piaciuta la filosofia di Arduino e le sue digitalWrite. Mi fanno caxare e le trovo inutili. Tra l' altro è quello che ho voluto esprimere in maniera molto polite :mrgreen: nel mio primo articolo.

Pero anche con Arduino si impara, basta non seguire la filosofia usando le librerie.

Simo.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[47] Re: Errore struttura dati

Messaggioda Foto UtentePietroBaima » 7 apr 2014, 15:56

simo85 ha scritto:Pero anche con Arduino si impara, basta non seguire la filosofia usando le librerie.

Sì, concordo, ma non capisco che differenza ci sia, non usando l'ambiente arducoso, ad imparare come ho fatto io, per esempio, cioè montandomi un microcontrollore (con gli atmel ero partito dal lontano AT90S1200, preistoria) su una millefori e usando l'avrstudio.

Nel senso che non vedo l'utilità di comperare arducoso, piuttosto conviene comprare una demo board atmel o qualche altra scheda che monta sopra uno di quei micro.

Forse oggigiorno è una questione di reperibilità, arducoso te lo danno anche comprando 5 big mac...
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12207
Iscritto il: 12 ago 2012, 1:20
Località: Londra

1
voti

[48] Re: Errore struttura dati

Messaggioda Foto Utentefairyvilje » 7 apr 2014, 15:57

Codice: Seleziona tutto
struct Zone{
    public:
        Zone();

        void setPinMatrix(int pin0, int pin1, int pin2, int AnalogPin);
        void initialize();
        void readInput();
        boolean comp();

    private:
        int AnalogPin;
        int pinMatrix[3];
        int firstRead[8];
        int AnalogRead[8];

        static int Matrix[8][3];
};

int Zone::Matrix[8][3]= {
                          {LOW,  LOW,  LOW },
                          {LOW,  LOW,  HIGH},
                          {LOW,  HIGH, LOW },
                          {LOW,  HIGH, HIGH},
                          {HIGH, LOW,  LOW },
                          {HIGH, LOW,  HIGH},
                          {HIGH, HIGH, LOW },
                          {HIGH, HIGH, HIGH}
                    };


Questa è la struttura, strutturata (scusa il gioco di parole) in modo diverso. I membri sono diventati privati per quanto possibile. Solitamente i metodi si scrivono fuori per una questione di leggibilità e per facilitare la separazione dell'interfaccia dal codice.
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

0
voti

[49] Re: Errore struttura dati

Messaggioda Foto UtenteTardoFreak » 7 apr 2014, 16:00

Sarei d' accordo nel voler aiutare l' OP a risolvere il suo problema ma come si fa se lui utilizza un compilatore che fa le cose di testa sua? ||O
Non so, a me viene un po' difficile pensare di ottenere un qualcosa che vada anche solo lievemente oltre ad un "più o meno funziona".

Poi, per carità, è giusto aiutarlo, anche se ...
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[50] Re: Errore struttura dati

Messaggioda Foto Utentedaniele1996 » 7 apr 2014, 16:04

Si, concordo... non è il massimo usare le librerie "Arduino" per programmare un microcontrollore, me ne rendo conto... Beh c'è da dire che vado all'industriale, settore informatica. Ma posso affermare, che ho imparato piu studiando da solo a tratti, che quanto avrei appreso con le lezioni dei prof. Come se non bastasse, se chiedo delucidazioni a scuola mia, mi snobbano... dicendo che tutto quello che faccio è sbagliato... in piu TUTTO QUELLO CHE SO, è GRAZIE A QUESTO FORUM, A PERSONE COME VOI E ALCUNI MIEI AMICI... Altrimenti (userei l'HW di arduino ma lo programmerei con AVR studio fatto dalla atmel). Ritornando a noi.
Bene, non si mette l'attributo static/public prima del tipo, ma si divide in zone. una cosa dove mi confondevo erano sempre i :: ora ho capito a cosa servono (Spero).
Avatar utente
Foto Utentedaniele1996
610 3 8 11
Sostenitore
Sostenitore
 
Messaggi: 1554
Iscritto il: 29 ago 2011, 11:29

PrecedenteProssimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti