====== Exemple simple de fichier C , téléchargement et exécution avec gtkterm. ====== ~~LINEBREAK~~ [[:pic|Retour PIC]] [[[digor|Retour PIK DIGOR]] Cet exemple va nous permettre de voir un programme C très simple qui va afficher un message lorsque l'on entre une touche au clavier * si la touche est 'a' on affiche "a : debut" * si la touche est ni 'a' ni 'z' on affiche "ni a ni z" * si la touche est 'z' on affiche "z : fin"et le programme se termine, on affiche alors "Termine" Aucune touche n'est gérée ensuite. **Voici le fichier source** [[simplec |simple.c]] Quelques commentaires : * Astuces pour la longueur d'une chaine avec le bash, taper man echo et man wc pour de plus amples explications * Ce fichier utilise la bibliothèque série, pas de problèmes elle est fournit comme SDCC en GPL et vous avez les sources dans le répertoire sdcc/source_lib Pour compiler ce fichier dans une console taper : **sdcc -mpic14 -p16f877 simple.c -l projet.lib** remarquer qu'il utilise l'éditeur de lien de gputils (qu'il faut avoir installé) Ouvrir gtkterm avec gtkterm -r '*' (on peut faire un lanceur sous Gnome avec cette commande) Voici quelques pages de cette exemple : * Appuyer sur le reset de la carte PIC, puis taper 3 au clavier, pour charger un programme (load) {{http://localhost/site/pik_digor/html/image/capture_gtkterm_simple1.png}} Dans gtkterm menu fichier => envoi de fichier brut => Choisir le fichier simple.hex {{http://localhost/site/pik_digor/html/image/capture_gtkterm_simple2.png}} Valider, le programme est chargé %%****%% puis lancé {{http://localhost/site/pik_digor/html/image/capture_gtkterm_simple3.png}} Quelques exemples de frappe, taper a, b, c, d, e, z, x, y {{http://localhost/site/pik_digor/html/image/capture_gtkterm_simple4.png}} Remarquez qu'après z, gtkterm ne réagit plus, le programme est fini Pour sortir de ce blocage, un reset sur la carte PIC **Conclusion :** Faites des programmes avec des boucles sans fin, while 1 par exemple.