Bonsoir à tous,
C'est la première fois que je viens sur ce site donc je ne sais pas trop si je suis au bon endroit pour poser ma question ?
Tout d'abord je me présente en deux mots :
Je m'appelle Robin, j'ai 21 ans et je suis étudiant en électronique.
J'ai une question depuis quelques jours à laquelle je n'arrive pas à trouver de réponse.
Je programme un microprocesseur ADuC832 (famille du 8051).
Mon programme principal est écrit en C ANSI via le compilateur de RAISONNANCE.
Dans ce programme j'utilise une interruption écrite en assembleur et je voudrais tout simplement (mais pas aussi simple que je le pensais..) appeler une fonction écrite en C depuis ma routine d'interruption écrite en assembleur.
Je pensais donc mettre ma fonction C en EXTERN dans le programme ASM mais le problème c'est que le compilateur ne parvient pas à résoudre le symbole externe et pour cause, je ne parviens pas à rendre public cette fonction écrite en C (le mot clé public est inexistant et je ne trouve pas son équivalent, s’il existe, dans la doc.).
Il est vrai que je peux, pour résoudre le problème, écrire mon interruption en C également.
Mais d'une part j'essaie d'utiliser l'assembleur le plus possible dans mon interruption pour gérer parfaitement les timings,
d'autre part, ce problème a suscité en moi une certaine curiosité que j'aimerais satisfaire .
Je me permets donc de vous demander si l'un ou l'autre d'entre vous n'aurait pas la solution à mon problème et, si non, ou pourrais je la trouver ?
(Donc en gros, rendre une fonction écrite en C ANSI PUBLIC afin de la rendre utilisable par une routine ASM).
Merci beaucoup.
Partager