Il disegno della AN736 si tratta di interrogare degli slave che hanno 4 tachimetri attaccati, 4 canali ADC ed un paio di LEDs. Del quale mi pare che i canali analogici si riferiscono ai dei controlli di temperatura che dovrebbero agire sull' accensione e spegnimento delle ventole.
Il disegno di base vale la pena di considerarlo.
Come abbiamo visto (pag 19 art 7) "Disegno di un pacchetto di comunicazione" quanti possono essere i bytes da maneggiare.
Quando ti serve, si potrebbe vedere quello che ho proposto per la gestione dei 5 slave (pag 20 art. 2). Si denota nella main() come indirizzare le varie attività .
Già ho messo troppe chiamate e non ho neanche provato a compilarlo. Direi che bisogna fare un passo indietro e partire con un livello che si possa compilare.
Funzionare, ci vorrà il suo tempo. Ma come le piramidi, non le hanno fatte in una notte. Direi 20 anni
https://en.wikipedia.org/wiki/Great_Pyramid_of_Giza Che comunque, non lo reputo la primaria intenzione, direi che serve per approfondire alcune conoscenze.
Anno nuovo, forum nuovo.
Mi sa che lascio.
e.ferriani
postato il: 05.11.2019, alle ore 21:30
Ciao a tutti, dopo una annetto di assenza ho ripreso il mio lavoretto, o supercomputer come lo chiama Picmicro :-).
Questo il primo passo dalla ripresa. Nuovi sensori di transito del treno.
Ne devo aggiungere uno per ogni settore del singolo anello, per rilevare l'entrata nel settore e segnalarne l'occupazione, appunto. E' da un anno che mi tiro dietro questa modifica, ed ora è il momento per procedere. Di seguito dovrò aggiornare anche il simulatore... Uff, che lavoraccio.
Enea Ferriani
e.ferriani
postato il: 05.11.2019, alle ore 21:35
A proposito, Il gestore ha deciso unilateralmente di chiudere la possibilità di pubblicare il mio sito su webalice.it, quindi questo è quello nuovo che sono riuscito a fare.
Secondo voi esistono altri come webalice che ti consente di caricare i files del tuo sito (quindi mpaginarlo a tuo piacere, senza usare i loro strumenti, che onestamente a me come risultato fanno un po' cag...?
Ho chiesto ad Altervista, ma mi hanno detto che da loro si possono usare solo i loro strumenti.
C'è poco da dire. Ho solamente implementato gli interrupt, e sembrano anche funzionare. Il prossimo step è la comunicazione I2C con gli interrupt sui vari eventi.
Enea Ferriani
picmicro675
postato il: 05.12.2019, alle ore 15:14
Beh, mi sembra che se n'è discusso abbondantemente e ci sono alcune modalità che determinano uno stile di dialogo tra master e slaves.
Anno nuovo, forum nuovo.
Mi sa che lascio.
e.ferriani
postato il: 05.12.2019, alle ore 21:29
picmicro675: Beh, mi sembra che se n'è discusso abbondantemente e ci sono alcune modalità che determinano uno stile di dialogo tra master e slaves.
Vero, ma voglio mandare avanti l'esperienza. Magari viene utile ad altri che, come me, potrebbero essere abbastanza poco pratici.
Mi attribuivi nuove eventuali esperienze acquisite in questo anno. Nessuna. Pausa per motivo personale.
Tra l'altro di recente ho pensato di utilizzare la EEPROM dove archiviare lo stato dei vari sensori...Ho provato per ora solo a scrivere e leggere in memoria in modo diretto. Funziona, quindi se fosse necessario perchè no?
Non so se continuare in questo topic, che per altro è stato intitolato allo sviluppo del codice per la porta analogica, o se aprirne uno dedicato.
Vedremo.
Per ora starei qua per non essere troppo dispersivo, almeno per me stesso, per tenere un ordine cronologico della discussione
Enea Ferriani
e.ferriani
postato il: 05.01.2020, alle ore 20:51
Mi sono arenato su una ovvietà , ma non ci salto fuori.
Nel codice sorgente per lo slave ho 4 macro #define dove, a seconda del valore caricato in EEPROM del miei 4 slave, carico il valore binario che devo mandare per identificare quale dei 4 slave sta trasmettendo.
Per gli al tri 3 slave i valori cambiano, ma non è questo il problema, fin qui tutto bene, funziona quasi tutto.
Ho però bisogno trascrivere il valore della macro instr_in in una variabile che ho definito nel file.h:
char outgoing_com; //comunicazione in uscita
Ad un certo punto nel codice ricevo una istruzione incoming_com e la confronto con un'altr macro start_program. Se corrisponde devo rispondere RICEVUTO, quindi avrei fatto outgoing_com = instr_in:
Risultato, il compilatore mi da un errore:
SLAVE_INT_Interrupts.c:118: error: (192) undefined identifier instr_in
Come faccio a mettere il valore della macro nella variabile? Mi sembra di averlo già fatto, ma non ricordo dove e come.
Grazie.
Enea Ferriani
agric
postato il: 09.01.2020, alle ore 03:37
Con la direttiva #define hai dichiarato delle costanti e secondo me vanno dichiarate all'inizio del programna.
Così come le usi dovrebbero essere delle variabili .
meglio essere un granello di pepe che una cacca d'asino
agric
postato il: 09.01.2020, alle ore 06:51
Però questo undefined identifier instr_in mi fa anche pensare che la dichiarazione #define
non è completa, dovrebbe essere
#define char instr_in valore
Considerando la variabile a cui passare il valore
char outgoing_com
meglio essere un granello di pepe che una cacca d'asino
Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito