Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

18F4550 encore et toujours...

Envoyé par Xav88 
18F4550 encore et toujours...
samedi 25 mars 2006 20:11:46
Bonjour,
Depuis quelques temps je programmes des applications utilisant l'USB sur des 4550.
Tout se passe bien sauf...les interruptions. En effet, quand j'utilise les interruptions (INT0, INT1, INT2), la communication entre le PC et le PIC fonctionne normalement jusqu'au moment où l'on entre dans la routine d'interruption. A partir de ce moment, la connection est perdue (cad que je n'arrive plus à échanger des données, cependant Windows "voit" encore le pic comme connecté)

Merci d'avance pour vos lumières
Xav

Re: 18F4550 encore et toujours...
samedi 25 mars 2006 21:29:08
Salut,

J'ai résolu tout les probleme de stabilité en utilisant la communication HID au lieu que d'utiliser le driver de microchip... C'est beaucoup plus stable, plus souple et beaucoup plus facile à programmer que ce soit le firmware ou le logiciel windows... Mais bon tout ça au détriment de la vitesse (64ko/s... ce qui ne me gene pas)

Si tu utilises le driver microchip, je suppose que via l'interruption tu essayes d'envoyer des informations a l'ordinateur, je pense que le probleme vient que celui-ci ne va jamais chercher les informations de lui, ça doit être ton logiciel qui doit regarder en continu si quelque chose à été envoyer depuis la carte,... Mais je n'aime pas cette fonction de lecture qui integre dedans un temps de réponse maximum...

Si 64ko/s te convient, je te conseil vivement d'utiliser le HID y'a peu de modification a faire et c'est tres stable

Benjamin
Re: 18F4550 encore et toujours...
dimanche 26 mars 2006 15:41:25
En fait je veux enregistrer l'état du PortB lors d'une interruption sur RB0 (front montant). Je le fait avec les interruptions pour avoir le traitement le plus rapide possible.
Les données ainsi enregistrées ne seront envoyées que plus tard, peu être après plusieur enregistrements successifs sur demande du PC (sans interruption) ou quand on aura atteint le nombre maximun d'enregistrements...

Mon problème est pour résumer: j'ai l'impression que d'utiliser une interruption quelqu'on arrête la communication USB.

Xav
Re: 18F4550 encore et toujours...
dimanche 26 mars 2006 20:26:54
Oui mais quel protocol utilises-tu, si tu utilises le driver de microchip c'est a dire le premier firmware disponible sur ce site, ça ne m'étonne pas que ça plante... J'ai eu plein de probleme aussi et c'est pour ça que j'ai décider d'utiliser le protocole HID... Maintenant si tu utilises l'HID... ça devient plus embettant
Re: 18F4550 encore et toujours...
dimanche 26 mars 2006 21:48:18
J'utilise (ou utilisait...) le driver microchip.
En suivant tes conseils, je me suis tourné vers le HID. Ton application me semble très bien mais j'ai un petit problème...
En effet je n'arive pas à envoyer des données ni par visual basic ni visual C++ (je ne possède pas Borland): Ce qui m'étonne est que dans les fonctions disponnibles après la génération du code par EasyHID, les fonctions de lecture et d'écritue ne permettent l'accès qu'à UN seul octet à la fois...
Ceci m'étonnes car dans ton exemple tu envois ou lis tout le buffer en une fois...
Re: 18F4550 encore et toujours...
dimanche 26 mars 2006 22:27:40
Salut,

Alors pour la programmation, je n'ai jamais examiné le code en C++ ni en VB mais a mon avis, bien que n'ayant pas vu ton code, le probleme vient que dans ta fonction read et write tu n'envoies pas un octet mais tu dois envoyé la référence d'un tableau contenant les 64 octets.

Au sujet de borland, Delphi 2005 édition personelle est disponible gratuitement sur le site :
[www.developpez.com]

C'est juste 500 mo à télécharger

Montre moi toujours ton code en C++ et en VB peut-être que je saurai mieux voir, mais je suis pas vraiment un expert dans ces langages
Re: 18F4550 encore et toujours...
dimanche 26 mars 2006 23:25:03
Merci de ta réponse...
Je vais essayer d'utiliser la dll sous Visual C# .net 2005 en important manuelement les fonctions de la dll (grâce à l'aide de EasyHID et ton projet en delphi). Si je n'y parvient pas alors je t'embèterais avec mon visual basic ou c++...

Merci encore
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter