J'ai un ATMega328p en cours d'exécution AmForth 6.1.AmForth a besoin d'un re-flash après -13 exception (mot indéfini)
Lors d'un débogage interactif, j'ai accidentellement appelé un mot indéfini, entraînant l'émission d'une exception -13
par AmForth (undefined word
).
Une fois l'exception levée, AmForth agit de manière étrange. Les appels à des mots prédéfinis tels que words
échouent ou des opérations simples telles que 1 1 +
échouent.
La seule solution que j'ai trouvée est donc de re-flasher la puce, ce qui est évidemment loin d'être idéal.
Est-ce que je ne gère pas correctement les erreurs? Venant d'un contexte GForth, je suis habitué à continuer l'opération sur les exceptions. Il semble qu'AmForth ne fonctionne pas de cette façon.
Comment obtenir un comportement correct d'AmForth après avoir appelé un mot indéfini?
Est-il possible de 'CATCH' l'exception? –
Il semblerait que 'QUIT' d'AmForth devrait attraper l'exception: https://github.com/bewest/amforth/blob/master/core/words/quit.asm, donc je suppose que cela ne devrait pas aider. –
Pourriez-vous montrer un exemple de QUIT ou CATCH? J'ai essayé QUIT, mais il est possible que ma syntaxe était éteinte. – Rick