Bonjour tous,
bonjour JP, merci te t'occuper de notre cas.
L'ICD2 d'origine est bien avec un 16F877 (pas un 16F877A ni un 876)
Le bootloader utilisé est bien celui d'origine microchip.
Le multiplexeur est un DG411 (4 commutateurs MOS analogique, avec 4 commandes séparées, supportant une commande en 5 volts et une tension commutée de 12 volts.) Il est utilisé dans l' ICD clone d'elektor pour commuter les différentes tension nécessaires sur la patte MCLR du microcontroleur testé ou programmé. Ces tensions sont (son son j'aime bien le son) 0V pour la mise en reset, 5volts pour le cas normal et 12à 13 volts pour la tension de programmation.
Ce multiplexeur est relié aux ports RC0, RC1, RC2 qui commutent chacun une des tensions. Un 0 réalise la connexion, un 1 ouvre la connexion.
RC0 commute le 12 V
RC1 commute le 5 V
RC2 commute le 0 V
Et pour finir le schéma sans dessin, il y a des pullups de 10K sur chaques entrées.
Donc, à la mise sous tension, pas de problème, les ports du PIC sont en entrée, et les pullups jouent leur rôle.
Ensuite le PIC exécute le bootloader (celui d'origine Microchip, BL010101.HEX) met les ports RC0, RC1, RC2 en sortie, puis ensuite les initialise à 1 (les trois).
Or pendant quelques µSecondes, les ports sont en sortie et à zéro, et les pullups n'ont plus d'effets, donc il y a un court-circuit.
Dans le cas de
http://wiki.jelectronique.com/projets/i ... icd2_clone
je ne comprends pas :
comment il génére le cas 5 volts ? RC0 = 5V et RC2 = 5V contrairement à ce qui est écrit ?
comment il travaille sans utiliser RC1 ?