Bonjour,
Cela fait plusieurs jours que je me bat avec un PIC18F4550 (Echantillon).
Je désire tester la communication avec un port USB. J'ai donc téléchargé le pack complet de Microchip (MPLAB 8.10, MCC18 et SDKUSB V2.2)
J'ai repris le code d'exemple du CDC basic démo, en adaptant la configuration à ma carte de test. (Montage basique, alimenté par l'USB)
La seule différence profonde entre les deux cartes est la vitesse du quartz qui est de 12MHz et non de 20MHz. Je n'en avais pas sous la main, mais je vais finir par en acheter un
J'ai modifié en conséquence la configuration pour avoir :
#pragma config PLLDIV = 3 au lieu de 5 pour la carte Microchip avec quartz de 20 MHz
Mon problème est que les caractères reçus sont incohérents.
J'affiche la valeur hexa de ce que j'envoie en utilisant des leds, le resultat est surprenant.
Après de multiples vérifications, je suis sur de :
Le nombre de caractères envoyés est bien correct et cohérent avec celui reçu par le PIC
Le PIC réagit dès que j'envoie une trame.
Le port USB est (semble t'il) bien configuré. Le driver est bien installé.
Ce qui est bizarre : les caractères reçus par le PIC sont constants. J'aurais toujours la même valeur pour le premier caractère envoyé, pour le second etc... et cela quelque soit le caractère envoyé au départ.
Ces valeurs sont également constante après un power Off/On.
De même, je ne reçois rien en USB, quelque soit la méthode pour envoyer une chaine de caractère.
Je tiens les différents code sources à disposition.
Si quelqu'un aurait une idée de génie pour m'expliquer ma c.... ?
-----