Etape 34 : Utilisez un programmateur PIC pour brûler le Firmware
À ce stade, le clavier est presque complet:). Il dispose d’un boîtier, il est équipé de circuits et sais il faut que le code pour que ça marche.
Dans cette étape un que programmateur PIC est nécessaire. Vous pouvez les obtenir pour pas très cher sur ebay.
Étant donné que le microcontrôleur que nous utilisons n’est pas un paquet PDIP, nous ne pouvons pas l’insérer dans un support ZIF programmation disposant de certains programmeurs. Par conséquent, nous devrons utiliser l’interface de l’ICSP (In-Circuit Serial Programming) qui utilise 6 broches :
- MCLR - pin18
- DMV - broches 7/28
- VSS/GND - broches 6/29
- PGD/RB7 - pin 17
- PGC/RB6 - broche 16
- PGM/RB3 - broche 15
Puisque nous avons seulement besoin de télécharger le code une fois et il ferait le PCB beaucoup plus compliqué, je n’a pas mis n’importe quel en-tête direct pour cette interface de programmation. Donc ce que je faisais était de souder un fil à chaque trace connecté à chacun de ces 6 goupilles et eux connecté au programmateur, comme peut être vu dans les photos. Vous pouvez faire la même chose et télécharger le fichier hex pré-compilés et ensuite dessouder les fils.
NOTE: lors des étapes précédentes, je l’ai mentionné un en-tête de programmation proche du micro USB. Cet en-tête de programmation est une interface série uniquement destinée pour le développement. Ce que j’ai réellement fait pour le développement était d’utiliser la méthode décrite ci-dessus pour brûler le Bootloader minuscule dans le PIC (fichier .hex également disponible dans mon Github) et puis j’ai utilisé la tête de série programmation programmer le clavier. Pourquoi ai-je fait cela ? Parce que c’est beaucoup plus rapide et plus facile à télécharger et déboguer le code à l’aide de l’interface série. Si vous avez l’intention sur le développement ou modifié le code pour le clavier, utilisez cette étape pour brûler le bootloader et de vérifier ensuite les étapes suivantes, qui décrivent comment utiliser le chargeur de démarrage minuscule.