PIC18F cycle d'une instruction en C.
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

PIC18F cycle d'une instruction en C.



  1. #1
    invitea09d71c0

    PIC18F cycle d'une instruction en C.


    ------

    Bonjour,

    Je me suis lancé dans la programmation en C d'un pic18f2550.... et plus précisement je dois scruter "simultanément" deux entrée ana, et voir si j'ai dépasser le seuil pendant plus de 10ms

    donc je lance mon ADC
    je teste si le seuil a été dépassé. Si celui ci a été dépassé
    j'incremente une variable
    Et donc en fonction du temps de la conversion j'en déduit le nombre de la variable

    (si vous avez une autre démarche sur la prog, vous pouvez toujours donner votre opinion.)

    Mais je programme en C... (sous MPLAB C18)
    y a t'il un moyen de transcrire se code en asm ? ou de "compter" le temps de cycle d'une instruction en C
    (genre while = 3 temps de cycle)

    Merci de m'éclairer sur le sujet

    Et dernière question qui a un peu rien avoir
    comment programmer un PIC18 boitier QFN ?

    -----

  2. #2
    invitea2a307a0

    Re : PIC18F cycle d'une instruction en C.

    bonjour,
    je ne connais pas MPlab. Mais j'ai fait des programmes pour PIC sous MikroC et le compilateur permet de visualiser le programme exécutable en ASM. Chaque instruction ASM s'exécute en un cycle (pour la quasi totalité des instructions). Il est alors facile de trouver la durée d'exécution d'une instruction C.
    Bon courage.

  3. #3
    invite74b5b8f7

    Re : PIC18F cycle d'une instruction en C.

    Salut,

    Pour avoir des bases de temps précises, on utilise en général les Timers, de plus ca te permet d´avoir des interruptions au bout d´un temps x, tu peux donc faire autre chose pendant ce temps ou te mettre en mode basse consommation...

    Sinon pour la programmation, je ne connais pas les PIC mais il doit bien exister des programmateurs avec un support pour boitiers QFN ou sinon il doit y avoir un bootloader qui te permet de programmer in-circuit...

  4. #4
    invitee0bbe70d

    Re : PIC18F cycle d'une instruction en C.

    Bonjour,
    Citation Envoyé par chaine Voir le message
    Bonjour,

    Mais je programme en C... (sous MPLAB C18)
    y a t'il un moyen de transcrire se code en asm ? ou de "compter" le temps de cycle d'une instruction en C (genre while = 3 temps de cycle)
    2 possibilités :
    a/ Tu utilises MPLAB en mode simulateur. Le temps d'exécution est précis à 100%. Avec les points d'arrêt et le menu STOPWATCH (en mode debugger) tu peux mesurer précisément le temps d'exécution si ton programme n'as pas d'interaction externes.
    b/ Il est possible de mesurer le temps d'exécution en temps-réel sur ta cible à condition d'avoir un ICD3 ou un Real-ICE.
    Tu peux utiliser la fenêtre Disassembly Listing dans le menu View de MPLAB pour faire du pas à pas au niveau assembleur même si ton programme est écrit en C ;=).

    Et dernière question qui a un peu rien avoir
    comment programmer un PIC18 boitier QFN ?
    2 solutions
    1/ tu prévois (comme pour n'importe quel autre boitier) un connecteur ICSP sur ta maquette
    2/ Si tu es riche, tu utilises un programmateur professionnel de type PM3 avec l'adaptateur pour les boitiers QFN

  5. A voir en vidéo sur Futura
  6. #5
    invitea09d71c0

    Re : PIC18F cycle d'une instruction en C.

    @ lili-vince

    j'avais déjà pensé au timer... mais le timer permet de déclencher un événement au bout de x secondes
    or moi je veux mesurer un signal pendant x secondes

    @microchip

    j'vais garder la simulation... par contre le fréquence du proc et d'office de 20Mhz on peut la changer ?

    sinon je multiplie par 5 le résultat obtenu... (pour que ce soit 4 Mhz)

    s'agissant du QFN... PM3 + adaptateur = 800 euros .

    sur la carte finale y'aura un usb..
    c'est possible de programmer le pic depuis l'usb ?
    sachant que j'ai aucun bp, mais l'usb et relié au D+ D- du pic.

    (si c'est pas possible)
    ben j'utiliserai icsp de ICD2 (+ adaptateur QFN => DIP)
    mais bon faudra le programmer avant de le souder

    merci pour vos réponses

  7. #6
    invite855cd7fb

    Re : PIC18F cycle d'une instruction en C.

    Pourquoi ne pas utiliser plutot les comparateurs analogiques de ton PIC ?
    ça serais beaucoup plus logique vu qu'ils sont conçu pour ça.

    Tu peut pas lire simultanément 2 entrées ana. c'est forcement soit l'une, soit l'autre. tu devra donc les lire l'une après l'autre. De plus la conversion ana/numérique prends un certain temps.

    Pour t'en sortir tu va devoir utiliser les interruptions et au moins un timer, je vois pas trop comment faire autrement.

  8. #7
    invite74b5b8f7

    Re : PIC18F cycle d'une instruction en C.

    j'avais déjà pensé au timer... mais le timer permet de déclencher un événement au bout de x secondes
    or moi je veux mesurer un signal pendant x secondes
    Les timers servent aussi à mesurer un temps.
    Tu déclenches le Timer au début de ton évenement et tu lis sa valeurs quand ton évenement est fini...

  9. #8
    invitee0bbe70d

    Re : PIC18F cycle d'une instruction en C.

    Bonsoir,

    Il est tout à fait possible de faire un bootloader USB pour programmer ton PIC à travers la liaison USB.
    C'est d'ailleurs fourni dans le framework 2.3 USB.
    Une fois installé, tu trouveras l'application PDFSUSB.exe qui fonctionne avec la carte PICDEM FS-USB équipée d'un PIC18F4550.
    Je crois que les fichiers sources de l'application PC sont fournis donc tu peux la modifier.
    Cependant, les PIC sont livrés vierges, il faut donc soit le programmer en ICSP ou sur un support.

    Si tu n'as pas de bouton poussoir, il existe plusieurs possibilités :
    1/ au reset, tu démarres systématiquement en mode bootloader et tu fais un timeout de x secondes. Si au bout de ce timeout aucune commande n'est recue, alors tu sautes à ton programme principal.
    2/ si ton appli utilises l'USB, il suffit dans ton protocole de prévoir une commande qui fait passer en mode bootloader (quite à utiliser une instruction RESET qui utiliserait alors le mode décrit dans 1/

Discussions similaires

  1. Ajout d'une mémoire externe a un pic18f
    Par grd666 dans le forum Électronique
    Réponses: 9
    Dernier message: 05/07/2009, 22h45
  2. L’instruction « INCF »
    Par invite6802cc87 dans le forum Électronique
    Réponses: 9
    Dernier message: 19/11/2008, 23h41
  3. [Divers] cycle de vie d'une poule
    Par invite305f674d dans le forum Biologie
    Réponses: 5
    Dernier message: 01/09/2007, 00h16
  4. Analyse du cycle de vie d'une fonderie
    Par invite0345d784 dans le forum Environnement, développement durable et écologie
    Réponses: 2
    Dernier message: 10/08/2007, 01h33
  5. instruction bizarre
    Par marc.suisse dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 28/03/2007, 20h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...