Aujourd'hui j'ai (malheureusement) trouvé un bug sur 83PCE qui fait freeze la calculatrice et impossible d'en sortir à part reset/retirer la batterie.
J'ai fais deux programmes, un programme A :
- Code: Select all
Lbl 1
DelVar B
Input "MESSAGE :",A
Repeat B≠0
GetCalc(B
Pause
End
Disp "REPONSE :",B
Goto 1
Et un programme B :
- Code: Select all
Lbl 1
DelVar A
Input "MESSAGE :",B
Repeat A≠0
GetCalc(A
End
Disp "REPONSE :",A
Goto 1
Ces programmes servent à tester l'échange entre calculatrices. Comme vous pouvez le voir, j'ai oublié le pause dans la boucle Repeat du programme B.
Ma calculatrice était branchée du côté A et faisait tourner le programme A, et la deuxième 83PCE était branchée du côté B et faisait tourner le programme B. J'ai d'abord entré n'importe quoi sur la A (input A), la B a bien reçu, j'ai entré n'importe quoi sur la B la A a bien reçu.
J'ai rerentré n'importe quoi sur la A et la B a commencé à ramer (icon chargement en haut à droite), j'ai essayé de sortir du programme avec
![[2nde/2nd] :f21:](./images/smilies/z80/21.png)
![[mode] :f22:](./images/smilies/z80/22.png)
Explications : getCalc() fait freeze la calculatrice qui lance cette fonction, freeze dans le sens où on ne peut pas l'annuler et on ne peut pas quitter le programme (avec on ou quitter). Dans une boucle infinie logiquement cela devrait la bloquer pour toujours, mais normalement si on débranche l'USB le getCalc() s'arrête, or ici il ne s'est jamais arrêté.