« Bico64 » : différence entre les versions

Contenu supprimé Contenu ajouté
Removing Context_OptionsTouchesEnv.jpg, it has been deleted from Commons by Jcb because: Copyright violation; see Commons:Licensing -.
Anpanman (discussion | contributions)
m typo
Ligne 6 :
 
[[Fichier:Bico64_dessus.jpg|thumb|left|400px]]
Le Bico64 est un petit circuit à souder soit soi-même commercialisé par [http://www.didel.ch Didel]. Il est vendu avec le [[WellBot]] mais connaissant Didel, ce doit être possible d'obtenir ce module seul si une application / enseignement est en vue.
 
L'avantage de commencer avec un tel module est que le résultat est très visuel, donc accessible aux plus jeunes programmeurs.
Ligne 33 :
 
= Comprendre le cycle de développement =
Pour programmer un petit processeur il faut plusieurs étapes que l’on va devoir répéter à chaque modificationsmodification.
 
[[Fichier:Processus_compilation.jpg|thumb|none|800px]]
 
Tout d’abord, nous allons écrire un programme dans un langage informatique relativement indépendant du processeur utilisé. Dans notre cas, nous allons utiliser le C qui est un langage assez vieux, pas forcément génial, mais très utilisé. Le processus de compilation est le suivantssuivant:
== éditer le source ==
Il faut si possible un éditeur qui soit bien fait pour le source, avec coloration syntaxique. J'utilise [http://www.contexteditor.org/fr/?lang=fr Context] qui est gratuit et qui a tout ce qu’ilsqu’il faut, y compris de quoi lancer la compilation et montrer où se trouvent les erreurs. Cette étape est évidemment celle qui prend le plus de temps au programmeur et là où il va aussi passer le plus de temps à ce dire "mais pourquoi ça ne marche pas?". On verra plus loin des [[Bico64#Exemples de programmes]].
 
En C on peut écrire dans un fichier .c
Ligne 98 :
= Installer l'environnement de développement =
== Installer le soft pour le PICkit 2 ==
Le soft est en principe livré avec le PICkit, mais on peupeut télécharger la dernière version chez [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805 microchip]
Une fois le soft installé, vous pouvez brancher le PICkit2 sur {{Abréviation|U.S.B.|Universal Serial Bus}} et encore le Bico64 au PICkit.
 
Ligne 120 :
* ConTEXT affiche alors F9,F10,F11,F12: choisissons F12 comme touche pour compiler en cliquant sur le bouton F12.
* Dans '''Exécuter''' mettre '''"C:\Program Files\SDCC\bin\sdcc.exe" %f''' (attention, sur la capture d'écran, on ne voit pas tout. Les " sont nécessaires vu que Program Files a un espace. (évidemment, si SDCC a été installé ailleurs, il faut mettre le chemin juste)
* Dans '''Paramètres''' mettre '''-mpic14 -p16F887 -V --use-non-free -L"c:\program Files\SDCC\non-free\lib\pic14"'''. On ne devrait pas avoir besoin du dernier paramètre '''-L"c:\program Files\SDCC\non-free\lib\pic14"''', car le fait de mettre '''--use-non-free''' devrait ajouter automatiquement ce chemin, mais il y a un petit bug dans la version actuellement utilisée et il ajoute seulement -L"c:\program Files\SDCC\non-free\lib\pic". Sera peut -être corrigé dans le futur. (attention, la copie d'écran ci contre n’est pas correcte pour ce paramètre).
{{Clr}}
 
Ligne 135 :
*** doc
*** header
*** lkr (où l’on trouve le mappage mémoire des processeurprocesseurs: le mappage mémoire du 16f887 est ok pour notre Bico64)
** PicKit 2 v2
*** ...
Ligne 265 :
void Loop(void) {
AfficherImage(1);
image[0]++; // on modifie l'image pour voir à quelquelle vitesse va l'affichage
}
 
Ligne 281 :
Quelques explications:
* la configuration du PIC: dans un premier temps inutile de comprendre: c’est comme cela qu’il faut le configurer pour le Bico64. Par contre pour les curieux (ou ceux qui veulent faire autre chose que le Bico64, on trouve les registres de config au § 14.1 et 14.2 du databook[http://ww1.microchip.com/downloads/en/DeviceDoc/41291F.pdf]. Cette section est '''indispensable''', sans quoi le PIC sera configuré n’importe comment et risque de ne pas démarrer ou faire n’importe quoi.
* Un programme c démarre toujours dans la procédure '''main''': Celle-ci ne fait pas grand -chose: elle appelle une fois '''Setup()''' puis elle appelle toujours la procédure '''Loop()'''
* Setup configure les Ports du PIC pour lui dire ce qui est des entrées et ce qui est des sorties (un bit à 0 dans TRISx = sortie).
* Loop ne fait que d'appeler AfficherImage qui fait le travail de scanner le tableau Image et de le mettre sur les leds
 
== Affichage d'images variables ==
Le programme suivant permet de mettre plusieurs images et possèdespossède quelques effets comme des spirales. Ceci permet d’avoir un programme principal plus ludique puisqu'on peut enchainer plusieurs figures.
 
<source lang="c">
Ligne 834 :
Architecture des PICS [http://www.didel.com/pic/Architecture.pdf]
 
Un livre [http://jmandon.free.fr/download/devsdcc.pdf Développement sur PIC avec SDCC] de Jean-Pierre Mandon introduit bien l'environnement SDCC. C'est lui qui m'a donné l’idée d’utiliser Context comme éditeur. Par contre ses exemples sont faitfaits pour un PIC 18Fxxxx
 
Du même auteur [http://jmandon.free.fr/sdcc/sdcc.htm site pour faire ses premiers pas]