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

Recherche avancée

18f4550 + 2 boutons en mode HID

Envoyé par linuxien 
Re: 18f4550 + 2 boutons en mode HID
samedi 3 mars 2007 17:15:45
Bonsoir,
Je pense avoir une partie de réponse à la question ci-dessus se rapportant à la configuration du PortB

Pour que les entrées RB0 à RB4 soient en mode digital, il faut que le bit de configuration PBADEN soit désactivé.
Ce bit apparait dans le main.c et sa valeur est bien à OFF

Dois-je donc rajouter dans le user.c, à la suite de la configuration du port C, ceci :
Trisb=252; // Je n'ai aucune idée à quoi correspond cette valaur
PORTB=0

Merci de confirmer
François

Re: 18f4550 + 2 boutons en mode HID
samedi 3 mars 2007 18:19:56
Salut

En effet la configuration des port d'entrée sortie tu peux les faire via
void UserInit(void)
{
TRISC = 252;
PORTC = 0;
}//end UserInit

Qui est comme sont nom l'indique l'iniatilisation...

Pour ce qui est des valeurs, le bon réflexe est de regarder dans le datasheet ce que signifie trisa, trisb, trisc, trisd, trise... Comme c'est un registre ultra courant: Chaque bit du trisX correspond à une broche d'entrée/sortie, le bit0 de trisX a l'IO portX 0 ... SI tu mets 1 dedans la broche est configuré en entrée (mémo technique 1 comme I comme Input winking smiley ) si tu mets 0, en sortie... 0 comme O comme Output...Enfait si tu veux vraiment bien maitriser les registres de config, je te conseil de faire tres attention à tous les diagrammes du datasheet... quand on les comprends on a tout compris... Par exemple pour une broches d'entrée sortie tu as le diagramme p111 du datasheet

Les broches analogique se configure via le registre ADCON0 voir page 260 du datasheet...

Voilà je pense que ça devrait t'aider...

A+

Benjamin
Re: 18f4550 + 2 boutons en mode HID
dimanche 4 mars 2007 20:07:31
Bonsoir,
Ca m'aide un peu dans le sens où chercher aide à découvrir mais j'ai besoin aussi de validation de bout de code pour assoir mes découvertes sur la vérité.
Je souhaite metre le port B complet en entrée.

* D'après le data :
- PBADEN = OFF -> AN8 à AN12 du port B sont digital (bit de conf dans le main.c)
- TRISB=255 -> portB en entrée sur tous les bits
- PortB=0 -> tous les bits sont bas niveau (0 volts)

Cela est-il correct car, j'allume bien le led sur RD3 si j'appyue sur poussoir en RB2 par contre il se passe des choses bizarre si je le fait avec RB4 avec la led en RD2


Merci de bien vouloir valider ma config du PortB pour qu'il soit en digital et en imput.
François

PS : En fait, je viens de trouver mon problème. J'ai recopié le source de l'inter 1 en oubliant de modifié le symbole de la led dans l'état étein ce qui fait que j'eteignait une led dèjà éteinte puisqu'elle correspond à l'autre pousssoir non activé.
De toute façon, c'est souvent des conneries de ce style qui nedonne pas le fonctionnement voulu.
Donc conclusion, mon port B est bien configuré comme je le souhaitait.
Maitenent, je vais passer à l'étape suivante, récupérer les valeurs 0 (non appuyé) ou 255 (appuye) dans le buffer envoyé par l'USB avec Delphi.



Modifié 1 fois. Dernière modification le 04/03/07 20:20 par linuxien.
Re: 18f4550 + 2 boutons en mode HID
lundi 5 mars 2007 10:21:57
Hello,

Ca y est, je dialogue avec delphi en USB !
Je recupére bien l'etat de les 4 buffer dans 2 labels
J'ai pris le buffer [4] et [5] pour obtenir l'état de mes 2 boutons.
Je visualise '0' pour "non appuyé" et '255' pour "appuyé".

Me reste plus qu'à intégrer un lecteur audio dans mon éditeur de texte de le piloter la lecteur + recul rapide par l'état de ces deux buffers.
A+
François
Re: 18f4550 + 2 boutons en mode HID
lundi 5 mars 2007 16:03:43
Hé bien c'est super tout ça, comme je vois tout marche bien pour toi et ce en moins de 24h!!! (temps entre les deux messages winking smiley )

A+

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

Cliquez ici pour vous connecter