@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ì)
Errore struttura dati
Moderatore:
Paolino
0
voti
Oggi abbiamo visto anche l'iscrizione di
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...
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12207
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
0
voti
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
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.
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
fairyvilje 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?
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
-

fairyvilje
15,0k 4 9 12 - G.Master EY

- Messaggi: 3047
- Iscritto il: 24 gen 2012, 19:23
0
voti
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.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
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
nel mio primo articolo.
Pero anche con Arduino si impara, basta non seguire la filosofia usando le librerie.
Simo.
Pero anche con Arduino si impara, basta non seguire la filosofia usando le librerie.
Simo.
0
voti
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...
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12207
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
1
voti
- 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?
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
-

fairyvilje
15,0k 4 9 12 - G.Master EY

- Messaggi: 3047
- Iscritto il: 24 gen 2012, 19:23
0
voti
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?
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 ...
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.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
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).
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).
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
pigreco]=π