Aller au contenu


philou-RX

Inscrit(e) (le) 14 mai 2009
Déconnecté Dernière activité oct. 12 2016 02:54
-----

Messages que j'ai postés

Dans le sujet : Programmation en C

18 mai 2015 - 11:13

Bijour à tous, 

 

Me voici avec une nouvelle question de 'C' (C ca que C bon  :crazy:

 

Dans la boucle ci-dessous, j'aimerai sortir de celle-ci si 'car_retour' est égale 'CHOIX_FLOTTANT' ou 'CHOIX_ENTIER'

    //--- boucle pour choisir un choix d'option
    do
    {
        //--- message afficher à l'utilisateur ---//
        ....

        //--- demander à l'utilisetur de choisir une option ---//
        ....

        //--- lecture du caractère en retour ---//
        car_retour = Select_Var_Cara();

    //---condition de sortie : obliger de choisir une possibilité ---//
    }while((car_retour != CHOIX_ENTIER) || (car_retour != CHOIX_FLOTTANT));

mais c'est le contraire qui se passe, je reste dans la boucle si  'car_retour' est égale 'CHOIX_FLOTTANT' ou 'CHOIX_ENTIER'... 

 

C'est pas logique ...

 

Si vous avez une solus c'est bien...

 

Amitié - le xcht'y Philou 


Dans le sujet : le Condensateur et sa tension

18 mai 2015 - 10:53

Bonjour à tous, 

 

Je vous mets une réponse que j'ai reçu à la question posée et que je trouve pertinente : 

 

 

La tension indiquée est la tension maximale à laquelle le condo garantit qu'il est OK pour marcher XXXX heures à XXX degrés
On peux utiliser des condos avec une tension maximale plus basse mais on prend des risques, c'est pas garanti.
 
C'est comme la date de péremption sur la bouffe, en dessous de la date c'est bon, après on prends des risques
(12V sur un condo indiqué pour max 10V ça peut passer,... c'est comme boire du lait 2jours après la date de péremption - parfois ça passe, parfois ca passe pas)
 
ça dépend aussi du procédé de fabrication:  le fabriquant garantit un nombre d'heures de fonctionnement il ne garanti absolument pas que tout te pète à la figure si tu dépasse :)
 
Par contre branche le à l'envers si tu veux que ça pète.

 

voili voilou pour les infos... 

 

Amitié - Philou


Dans le sujet : DSPic 33FJ256GP710

11 février 2015 - 11:52

Bonsoir tout le monde, 

 

ON m'a mis sur la piste concernant cette PIN RB0 sur le forum de microchip, car on peut quand meme la configurer en mode I/O pure. 

 

Si on regarde sur le datasheet du DSPic (voir poste #2), page 164... cela nous donne l'explication. 

 


 

Clearing any bit in the ADxPCFGH or ADxPCFGL

register configures the corresponding bit to be an
analog pin. This is also the Reset state of any I/O pin
that has an analog (ANx) function associated with it.

 

avec le code ci-dessous, cela me permet de définir la pin RB0 comme une I/O standart. 

AD1PCFGLbits.PCFG0 = 0x01; 

Je vous mets le code complet si ca vous intéresse !!!

 


Dans le sujet : DSPic 33FJ256GP710

30 janvier 2015 - 08:37

Bonsoir à tous, 

 

Merci Mike pour l'infos c'est ce que j'ai fait... et j'ai bien ma sortie qui varie (plus exactement une led)... mais ma touche n'as pas d’interaction avec cette boucle d’interruption.  :blind: . je vais regarder encore et encore, mais d'idée pour le moment, la soirée portera pt-être conseil. 

 

Update du soir : chose marrante, comme j'utilise la carte Explorer, je me suis dit que j'allais utiliser l'une des touches implémentée sur la carte... la au miracle, ma fonction d'antirebond fonctionne et ce qui va avec aussi. 

 

Maintenant faut que je regarde pourquoi : la pin RD13 du port D (ça fonctionne) & la pin RB0 du port B (la ca fonctionne pas)... pour l'instant ce que je vois que c'est la PIN RB0 peut être aussi utilisee en analogique...

 

Mais la je bloque complètement quand meme, je vais me replonger dans la doc du DSP. 

 

Alors si vous voyez quelques choses dans la config, les pins, ou autres config, je vous serais très reconnaissant 


Dans le sujet : DSPic 33FJ256GP710

23 janvier 2015 - 11:21

Bonsoir à tous, 

 

Je reviens vers vous car je suis bien bloqué à nouveau :help: ,

je suis toujours entrain de m'amuser sur ma carte Explorer 16, ainsi qu'avec des leds et mes entrées / sorties. Là, je m'amuse à réaliser c'est un carrefour tricolore.

 

Mon problème est le suivant : J'ai une fonction d'antirebond (qui fonctionne déjà - testée sur d'autre programmes => donc je ne l'a remets pas en cause), celle-ci est mise à jour dans une interruption qui et relié au Timer1. Lorsque le Timer1 arriver à 500ms, l'interruption s'active, et c'est la qu'on active la lecture de la touche, et ainsi la lecture de l'antirebond.

Le problème, c'est quand dans ma boucle principale, quand je teste ma touche (qui est lue toute les 500ms), rien ne se passe :skull: ?!?!?!? Pourtant, si je mesure avec un multimètre la pin qui relié à switch, celle-ci passe bien à zéro.... la je suis un peu perdu, je ne comprend pas ce que je fais de faux   

 

je ne passe jamais le test ci-dessous : 

//--- test si la touche est pressée ---//
if(switch_presser(&pt_SWITCH_PIETON))
{
//--- remise à zéro du compteur ---//
CMPT_FEUX_PIETON = 0x00;
ACTIVE_CMD_CMPT = 0x01;  
 
//--- remise à zéro de l'info de la touche 
reset_info_touche_presser(&pt_SWITCH_PIETON);
}

Je vous mets tout le code en annexe si ca vous intéresse. 

 

En tout cas un grand merci de me lire. 

 

A tout bientôt

 

Amcialement le cht0'y Philou