home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Pic Micro
Tutto quanto riguarda questi microprocessori... progetti, suggerimenti, aiuti, discussioni...ecc


PORTA analogica in PIC16F873A
     
Autore Messaggio opzioni
picmicro675




una ogni 10 livelli


postato il:
26.09.2018, alle ore 08:03
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.

https://sites.google.com/site/eneaferriani/home

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.



Enea Ferriani
picmicro675




una ogni 10 livelli


postato il:
07.11.2019, alle ore 08:41
Caro Enea,
Il discorso vale ancora dopo il periodo di pausa. Forse con qualche nuova esperienza acquisita.
Se hai dei dubbi ci sono volenterosi a dare un parere e/o un aiuto.
Consiglio di trovarti un sito come sito per il tuo blog
https://themeisle.com/blog/best-free-blogging-sites/
e magari le foto, non le mettere in un drive, sballato che bisogna aprirle per vederle, perché il browser non le apre.



Anno nuovo, forum nuovo.
Mi sa che lascio.
e.ferriani





postato il:
04.12.2019, alle ore 22:40
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




una ogni 10 livelli


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.


void DefineAddress (void)
{
  if (I2cSlaveAddress==0x02)
  //se in EEPROM trovi 0x02 definisci le variabili così
  {
    #define instr_in                0b01000010      //istruzione ricevuta
    #define treno_in_transito       0b01011010
    #define tratto_impegnato        0b01011011
    #define tratto_libero           0b01011100
  }
...
...


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:


  if (incoming_com==start_program)
  {  
    start = 1;
    incoming_com = 0;
    outgoing_com = instr_in;
    __delay_us(100);
    outgoing_com = 0;
  } 


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
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

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




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale