Bonjour,
je voudrais réaliser un montage à base d'un PIC18F4550 pour communiquer avec le PC en USB.
J'ai trouvé un exemple ici : http://www.vbfrance.com/codes/USB-EN...HID_39834.aspx
J'ai réussi à faire fonctionner ce montage mais maintenant j'aimerais le modifier.
Le problème c'est que l'auteur ne donne pas la source du programme du PIC (il donne que le .hex) et je n'ai aucune idée comment le faire moi-même.
Je programme en C avec le compilateur MCC18.
Quelqu'un sait-il comment faire ?
Merci d'avance,
guijac
Tu l'installes.
Cela va créer un répertoire C:\Microchip Solutions dans lequel il y aura plein de projets pour les PIC18 / PIC24 et PIC32.
Si tu veux communiquer avec le PC en USB tu dois choisir une classe (HID, CDC,...).
Tu pourrais par exemple commencer par la classe CDC (émulation port COM) car il existe un projet tout fait :
C:\Microchip Solutions\USB Device - CDC - Serial Emulator\
a+
Dernière modification par RISC ; 14/10/2009 à 21h40.
Motif: addition
15/10/2009 - 21h30
guijac
Date d'inscription
août 2007
Âge
20
Messages
17
Re : Communication PIC<->PC en USB
Merci pour vos réponses rapides !!
Le problème avec les librairies de microchip c'est que quand je connecte le montage, l'ordinateur me met : "Périphérique USB non reconnu".
Et les librairies me paraissent bien compliquées juste pour envoyer quelques données...
S'il y a que cette solution, avez-vous une idée de comment faire pour que l'ordinateur reconnaisse le montage ?
@+
Si tu avais les plusieurs centaines de pages de la norme USB tu comprendrais pourquoi l'USB ne peux pas se résumer à quelque lignes de code.
Si tu es en classe HID, ton PIC sera reconnu immédiatement par Windows (pas besoin de driver).
Si ce n'est pas les cas c'est que le programme dans ton PIC n'est pas correct...
Quand on installe un périphérique en classe CDC (si ton PIC a été correctement programmé), Windows doit te demander un driver.
Si ce n'est pas les cas c'est que le programme dans ton PIC n'est pas correct...
Quel programmes utilises-tu ?
Quel "montage" utilises-tu ?
J'ai utilisé beaucoup des exemples de la stack Microchip sur leurs cartes et ils ont tous fonctionné. Le problème ensuite c'est de migrer correctement ces logiciels sur ta carte. Généralement cela ce limite a des changements sur les E/S.
a+
17/10/2009 - 15h56
guijac
Date d'inscription
août 2007
Âge
20
Messages
17
Re : Communication PIC<->PC en USB
J'ai essayé de faire le montage du magazine Elektor de novembre 2007 qui utilise les protocoles USB de microchip. (Site)
L'ordi m'a demandé un driver quand j'ai branché le montage.
J'ai installé le driver fourni et ça a fonctionné.
Mais maintenant le problème c'est que je n'arrive pas à utiliser le programme fourni avec. Il me met le message d'erreur suivant : "Connect USB DATA ACQUISITION CARD and restart the program".
J'ai utilisé USB View pour avoir quelques infos et voici le résultat :
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x03
Open Pipes: 2
Endpoint Descriptor:
bEndpointAddress: 0x01 OUT
Transfer Type: Interrupt
wMaxPacketSize: 0x0040 (64)
bInterval: 0x01
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Interrupt
wMaxPacketSize: 0x0040 (64)
bInterval: 0x01
Avez-vous une idée de l'erreur que j'ai commise ?
a+
17/10/2009 - 17h14
RISC
Date d'inscription
novembre 2006
Messages
2 881
Re : Communication PIC<->PC en USB
Salut,
Apparemment l'énumération est correcte (ton PIC est reconnu par le PC). Le PB semble au niveau applicatif.
As-tu programmé le fichier .hex reçu par Elektor ou as-tu compilé toi-même le logiciel du PIC ?
Sur le lien que tu as fourni, il est clairement mentionné que leur soft (non modifié) marche uniquement avec le compilateur C18 v3.02. Si tu as une version plus récente ils décrivent les modifications à faire.
a+
17/10/2009 - 18h01
guijac
Date d'inscription
août 2007
Âge
20
Messages
17
Re : Communication PIC<->PC en USB
J'ai fais les modifications nécessaires puis recompilé le programme du PIC.
17/10/2009 - 20h48
RISC
Date d'inscription
novembre 2006
Messages
2 881
Re : Communication PIC<->PC en USB
Salut,
As-tu monté la platine toi-même ou acheté celle de Elektor avec les composants ?
Quelle version du compilateur C18 utilises-tu ?
a+
17/10/2009 - 20h55
guijac
Date d'inscription
août 2007
Âge
20
Messages
17
Re : Communication PIC<->PC en USB
J'ai monté ça sur une plaque expérimentation avec mes composants.
17/10/2009 - 21h08
RISC
Date d'inscription
novembre 2006
Messages
2 881
Re : Communication PIC<->PC en USB
Salut,
L'USB sur plaque d'expérimentation c'est pas top....
As-tu une photo pour voir de quoi cela à l'air ?
a+
17/10/2009 - 21h30
guijac
Date d'inscription
août 2007
Âge
20
Messages
17
Re : Communication PIC<->PC en USB
Voila j'ai juste pris en photo l'arrivée du câble USB sur la plaque.
a+
17/10/2009 - 23h10
RISC
Date d'inscription
novembre 2006
Messages
2 881
Re : Communication PIC<->PC en USB
Salut,
Je voulais voir l'ensemble de ta platine...surtout au niveau oscillateur et alim. Sur ce genre de plaques, il faut limiter les liaisons entre le CPU et les composants périphériques (quartz, connecteurs,...) car les capacitances sont élevées. De même n'oublie pas la fréquence élevée sur l'USB...
Je pense que tu vas avoir beaucoup de soucis à avoir quelquechose de stable. Je ne peux que t'encourager à essayer un circuit imprimé...
a+
18/10/2009 - 15h35
RicounetZap
Date d'inscription
juillet 2008
Localisation
Baillargues
Messages
302
Re : Communication PIC<->PC en USB
Bonjour,
J'ai déjà fait des protos sur platine en uilisant des pic18F4550, et en utilisant la communication (bootloader et communication HID avec le PC). Je n'ai jamais eu de soucis particulier, mais j'ai effectivement fait très attention aux longueurs.
Quartz 20MHz collé au pic, cable USB dénudé pour branchement le plus près possible des entrées du pic etc...
Bon courage