UN USO INSOLITO DI NMI
|
Il tutto é nato come risposta ad un E-Mail che non é andato a buon fine.
<< Realizzando un progetto elettronico con un ST62 della Thomson sono "incappato" in un piccolo problema: qual' è l' indirizzo di memoria da cui posso leggere lo stato del piedino di interrupt NMI? voglio precisare che non mi interessa controllare il fronte di discesa o di salita di tale ingresso, ma il suo stato (1 o 0) per motivi un po' lunghi da spiegare nella presente.>>
<<... il pin NMI é normalmente a livello 1 e in tali condizioni lascia girare il programma normalmente , quando NMI passa a 0 il programma che stava girando,ovunque si trova, sospende il suo lavoro e va a gestire la routine che viene messa fra
eseguita questa routine dopo reti riprende l'esecuzione da dove aveva lasciato il programma principale....... riconoscere quando va a 0 non é difficile mentre il vero problema e riconoscere quando ritorna a 1 ....il trucco forse c'é e consiste nel mettere una porta XNOR come nell'allegato nmi.gif che invio ...ottenendo un impulso verso 0 per ogni fronte del livello da controllare e nella routine dell' nmi_int mettere quanto segue: nmi_int jrs 0,level,zero ;se level=1 allora salto a zero set 0,level ;altrimenti era 0 pertanto level=1 ...... ;qui posso già fare quello che voglio ;abbinare al livello 1 reti zero res 0,level ;metto level=0 ...... ;qui posso già fare quello che voglio ;abbinare al livello 0 reti
é la variabile che avrò definito per sapere il livello che devo controllare attraverso NMI nell'"inizzializzazione" del programma si predisporrá level=1 che andrà a 0 , al primo scendere a 0 di NMI cioè del livello che devo controllare ...quando questo tornerà a 1 avrò un altro impulso di NMI cosi nella routine cambierò stato a level ricordando che é tornato a 1. Non lo provato perché lo inventato intanto che ti scrivevo ma dovrebbe andare.>>
Non lo ancora verificato, che ne dite potrà funzionare ????
(c) by Vittorio Crapella [ Retunr ] [Le mie pagine]