PIC 18F2455
Comment utiliser un PIC18F2455 en entrees sorties sur le port USB
Apres avoir fait le tour sur internet j'ai trouve un lien interessant :
http://www.schmalzhaus.com/UBW/index.html
dans notre exemple j'utilise le schema suivant :
il faut dans un premier temps telecharger le fichier suivant dans le PIC 18F2455 :
Pour le telecharger la premiere fois , il faut utiliser un programmateur (exemple ICD2)
en effet , il y a un bootloder dans le pic 18F2455 :
le but est de pouvoir programmer un nouveau programme dans le pic, sans utiliser le programmateur mais par le biais de la liaison USB.
il faut installer le programme suivant de Microchip :
Pour le bootloader , il faut utiliser le driver dans le repertoire :
C:\MCHPFSUSB\Pc\MCHPUSB Driver\Release
Brancher le montage sur le port USB
il faut basculer l'interrupteur PRG , et faire un reset (basculer l'interrupteur RST) .
Les leds jaunes et vertes vont clignoter
On peut communiquer avec le PIC, reprogrammer un fichier HEX (programme application) . Attention on ne peut pas reprogrammer le bootloader (et la configuration du PIC)
on peut reprogrammer l'application : FW_D.HEX
a titre d'exemple , voici un exemple simple, clignoter les 2 leds. LED.HEX
Pour utiliser le montage en entrees sorties il faut utiliser le driver dans le repertoire
C:\MCHPFSUSB\fw\Cdc\inf\win2k_xp_vista32_64
Lien pour l'installation sous Windows 7
Danns mon cas j'ai un nouveau port de communication COM8
Brancher le montage dans le port USB, faire un reset (basculement de l'interrupteur RST)
La led verte clignote.
Lancer le programme d'application Liberty BASIC
charger le petit programme en basic : UBW_PLAY.BAS
On peut selectionner les entrees sorties du PIC .
Utilisation de l'hyperterminal :
Lancer l'hyperterminal windows
configurer le port COM8 pour moi
mettre les proprietes suivantes :
Sous le terminal , on va allumer la led Jaune port RC1
v donne la version actuelle du soft
r : reset de la configuraton in / out
c : configuration port in/out
"C,<DirA>,<DirB>,<DirC>,<AnalogEnableCount><CR>" where <DirX> is a value between 0 and 255 that indicates the direction bits for that port. A 1 is an input, a 0 is an output.
po : ecrit sur le port, la pin , 1 ou 0
"PO,<Port>,<Pin>,<Value><CR>"
sous MPLAB IDE V8.36
si on a les erreurs suivantes :
il faut aller dans projet Build options projet
et redefinir correctement les directories :
et on a bien a la compilation :
MIKROC :
il faut utiliser la commande suivante pour que le bootloader de microchip puisse fonctionner avec MikroC
f you want to place routines, constants, etc, above a specified address in ROM, you can use #pragma orgall directive, for example
#pragma orgall
0x800.