Maintenant que tout est installé, passons à notre premier projet : plutôt que la classique "LED clignotante" qui se trouve sur quasiment tous les sites d'initiation aux PICs, mais qui ne permet aucune interactivité, j'ai préféré un truc avec 2 boutons poussoirs ; un pour allumer la fameuse LED, le second pour l'éteindre.
Première étape : lancer Piklab, puis on utilise le menu "Projet/nouveau projet". Un popup s'ouvre dans lequel on spécifie les paramètres du projet.
Dans la fenêtre principale s'ouvre un éditeur contenant le squelette du fichier C de notre projet.
Sur la gauche, et suivant votre configuration bien sûr car tout peut être changé, on trouve l'onglet "Gestionnaire de projet" qui permet de changer tous ces paramètres et d'ajouter d'autres fichiers.
Autre endroit intéressant, le menu tools qui contient plein de choses non moins intéressantes concernant l'éditeur, mais aussi les entrées :
Attention : elle n'est pas répercutée automatiquement dans le source, il faudra donc la copier manuellement.
Rien de bien compliqué, il devrait ressembler à
/* TestLedBP
*
* GP5 -> La LED
* GP2 <- Marche
* GP3 <- Arret
*/
/* ----------------------------------------------------------------------- */
/* Fichier source modèle généré par Piklab */
#include <pic12f675.h>
/* ----------------------------------------------------------------------- */
/* Bits de configuration */
typedef unsigned int word;
word at 0x2007 CONFIG = _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _BODEN_OFF & _CP_OFF & _CPD_OFF;
/* Environment */
#define LED GP5
#define BT_MARCHE GP2
#define BT_ARRET GP4
void main() {
/* << insérer le code >> */
/* Activation du Pullup sur toutes les entrées (il sera automatiquement supprimé sur toutes les sorties)
* Sans objet dans GPSim mais bon, faisons ca propre ;D
*/
ANSEL = 0; // Desactive le convertisseur A/D (675 seulement)
NOT_GPPU = 0; // Pullup actif
WPU = 255; // sur toutes les entrees
TRISIO = 0x14; // GP2 et 4 en entree (0x10 + 0x04)
for(;;){ // C'est parti
LED = 0; // Eteint la LED
while(!BT_MARCHE);
LED = 1; // Allume la LED
while(!BT_ARRET);
}
}
Il ne reste plus qu'à compiler par le menu "construire / construire le projet" ou simplement F8. En bas de l'éditeur, l'onglet "journal de compilation" contient d'éventuelles erreurs. Dans notre cas, tout devrait s'être bien passé.
sdcc -mpic14 -p12f675 -V --debug -I/home/laurent/Documents/ProjetsPic/Tests/TestLedBP/ -c TestLedBP.c
+ "/usr/bin/sdcpp" -nostdinc -Wall -I"/home/laurent/Documents/ProjetsPic/Tests/TestLedBP/" -obj-ext=.o -DSDCC_MODEL_SMALL -DSDCC=290 -DSDCC_REVISION=5416 -DSDCC_pic14 -D__pic14 -DSDCC_PROCESSOR="12f675" -isystem "/usr/bin/../share/sdcc/include/pic14" -isystem "/usr/share/sdcc/include/pic14" -isystem "/usr/bin/../share/sdcc/include" -isystem "/usr/share/sdcc/include" -isystem "/usr/bin/../share/sdcc/include/pic" -isystem "/usr/share/sdcc/include/pic" "TestLedBP.c"
sdcc -mpic14 -p12f675 -V --debug -Wl-c -Wl-m -I/home/laurent/Documents/ProjetsPic/Tests/TestLedBP/ -oTestLedBP.hex TestLedBP.o
using default linker script "/usr/share/gputils/lkr/12f675.lkr"
+ "/usr/bin/gplink" -I"/usr/bin/../share/sdcc/lib" -I"/usr/share/sdcc/lib" -I"/usr/bin/../share/sdcc/lib/pic" -I"/usr/share/sdcc/lib/pic" -c -m -w -r -o TestLedBP.hex TestLedBP.o libsdcc.lib pic12f675.lib
*** Réussite ***
Analyse du fichier COFF : /home/laurent/Documents/ProjetsPic/Tests/TestLedBP/TestLedBP.cof
Device name: "12F675"
Le gros point fort est que l'on peut placer des points d'arrêt (matérialisé par une croix rouge) et tracer directement dans le source C (la flèche verte matérialise où l'on se trouve).
Sur la gauche, l'onglet "Vue surveillance" permet de surveiller le contenu des registres, E/S, flags ... et éventuellement d'en changer les valeurs.
C'est déjà bien, mais on reste sur sa faim lorsque l'on sait ce dont GPSim est capable au niveau de l'interaction avec les composants extérieurs. L'idéal serait d'avoir à la fois l'IHM de PIKLab pour le côté gestion de projet et la possibilité de tracer le source C et celle de GPSim pour sa puissance.
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.