|
Autore |
Messaggio |
opzioni |
angelole
postato il: 25.12.2019, alle ore 12:43 |
Leggere e o scrivere il valore dello stack nei pic16f
Salve, buon Natale a tutti,
vi sottopongo una domanda:
è possibile leggere e/o scrivere (quindi anche modificare) il valore dello stack nei pic16f???
Grazie per l'attenzione |
|
picmicro675
postato il: 26.12.2019, alle ore 14:34 |
No, non è accessibile, sono 16 bytes riservati per ritornare dalle chiamate delle routine. Se fai più di 8 chiamate nidificate di routine si perdono i dati. Magari uno riesce con questo metodo imporre i suoi valori, ma molto complicato.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
angelole
postato il: 26.12.2019, alle ore 18:20 |
Vorrei proprio imporre dei dati. Perchè è complicato? Cosa dovrei fare per riuscire? |
|
angelole
postato il: 26.12.2019, alle ore 18:37 |
Se faccio più di 8 chiamate nidificate e perdo i dati non potrei poi gestire io stesso il ritorno, decidendo io stesso il dato o i dati? |
|
caccamo2
postato il: 26.12.2019, alle ore 18:39 |
Non e' complicato, e' impossibile nei 16F, devi usare almeno un 18F.
Sarebbe il caso che tu spiegassi il motivo di questa richiesta.
... |
|
marsram
postato il: 27.12.2019, alle ore 16:53 |
PIC16F non vuol dire niente di preciso. Indica solo alcune MCU a 8 bit.
Nei Baseline (es 16F505) lo stack ha due livelli di profondità , non è mappato in memoria e quindi non è accessibile da programma.
Nei Midrange (es 16F877) lo stack ha 8 livelli ed è come sopra.
Negli Enhanced Midrange (es 16F1619)lo stack è a 16 livelli e sono accessibili STKPR, TOSL e TOSH, ma neanche qui non ci sono istruzioni per manipolare lo stack
Solo nei PIC18F c'è questa possibilità .
|
|
picmicro675
postato il: 27.12.2019, alle ore 18:24 |
angelole: Se faccio più di 8 chiamate nidificate e perdo i dati non potrei poi gestire io stesso il ritorno, decidendo io stesso il dato o i dati?
Siamo in tre a dire che non è accessibile. Cambia micro se intendi fare quelle operazioni.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
angelole
postato il: 28.12.2019, alle ore 10:46 |
Ok grazie... |
|
|