Ok, à l'école, nous développons un système d'exploitation. Mon projet a été de développer un pilote de disque dur ATA. Je pensais que ma routine de service d'interruption fonctionnait très bien quand mon professeur a fait remarquer que je n'envoyais que des commandes de fin d'interruption au PIC esclave, et pas au maître aussi. Mon problème est que chaque fois que j'envoie la fin d'interruption au PIC maître, cela provoque une triple erreur qui provoque alors le redémarrage de mon système. Maintenant j'ai un/commenté un tas de lignes et il semble que chaque fois que la fonction pour envoyer la fin d'interruption au PIC maître est laissé dans le code, je reçois le triple défaut.Pourquoi une fin d'interruption pour le PIC maître provoque-t-elle une triple erreur (redémarrage)?
Maintenant, je suis tout à fait sûr de ce qui suit:
- les interruptions sont désactivées à l'entrée de mon ISR
- J'envoie correctement la fin de interruption octet (testé classe)
- Je ne suis pas Reconnaissant la même interruption
Cela a causé une frustration massive, donc j'espère que quelqu'un peut me donner quelques conseils sans avoir besoin de voir notre code.
Merci!
Ancien article mais l'auteur est peut-être encore en vie? Que diriez-vous d'un code? – Earlz