Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Calcul cos/sin en C sur un pic??



  1. #1
    MofK

    Question Calcul cos/sin en C sur un pic??


    ------

    Hello
    Je cherche à faire des calculs utilisant le cosinus (du genre xcos(alpha) ) sur un PIC (16f628 @20MHz pour le moment) en C. Hi-tec ne le faisant pas (ou j'ai loupé qqch) et google ne m'aidant pas, comment faire?? Qqun aurais un ptit code??

    un grand merci d'avance.
    @+ Benj

    -----
    La logique est le moyen systématique d'arriver à la mauvaise conclusion avec confiance...

  2. Publicité
  3. #2
    sdec25

    Re : Calcul cos/sin en C sur un pic??

    Salut.
    Il te faut quelle précision ?

  4. #3
    microchip

    Re : Calcul cos/sin en C sur un pic??

    Bonsoir,

    Citation Envoyé par MofK Voir le message
    Hello
    Je cherche à faire des calculs utilisant le cosinus (du genre xcos(alpha) ) sur un PIC (16f628 @20MHz pour le moment) en C. Hi-tec ne le faisant pas (ou j'ai loupé qqch)
    Tu as effectivement loupé qqchose --> cos() ?
    J'ai téléchargé le manuel du Compilateur HiTech Pro PIC10/12/16 et toutes les fonctions trigo sont dedans. La version Lite du compilateur (gratuite) devrait également incorporer ces fonctions.

    Elle supporte la totalité des PIC16 : http://microchip.htsoft.com/products...cpro-modes.php
    Here to help ;=)

  5. #4
    jiherve

    Re : Calcul cos/sin en C sur un pic??

    Bonsoir
    faire recherche avec CORDIC!
    JR
    l'électronique c'est pas du vaudou!

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

    Re : Calcul cos/sin en C sur un pic??

    effectivement hi-tec le fait, il suffit de rajouter "math.h"... je ne dois pas avoir assez regardé la doc...
    par contre le carré j'ai pas trouvé. M'enfin ça ne me sert pas trop...
    Tant que j'y suis, vous savez où je peux trouver des bibliothèques de fonctions pour gérer un afficheur lcd, bus 12C, RS232, etc... ???
    merci encore.
    @+Benj
    La logique est le moyen systématique d'arriver à la mauvaise conclusion avec confiance...

  8. #6
    microchip

    Re : Calcul cos/sin en C sur un pic??

    Bonjour,

    Je ne crois pas qu'il y ait des librairies de gestion de périphériques externes fournies dans le compilateur C de HiTech. Par contre tu pourras trouver beaucoup de choses sur internet et sur leur forum.

    Bonne recherche
    Here to help ;=)

  9. Publicité
  10. #7
    marmotte

    Re : Calcul cos/sin en C sur un pic??

    Tu peux également passer par des tables si la précision n'est pas un critère important, surtout sur un 16F.

    Perso je l'ai fait en ASM, plutot que de coder une routine de calcul qui prendrait un paquet de ressource en terme de mémoire et nombre de cycle, j'ai simplement créé une table de coefficient stockée dans la flash du µC.

    Dans chaque case de cette table, tu mets la valeur du sinus/cosinus correspondant a l'offset de la case. Pour etre plus précis voila un exemple.

    Cos 0= 1
    Cos 10 = 0.985
    Cos 20 = 0.94
    Cos 30 = 0.866
    Cos 40 = 0.766

    Comme tu peux pas mettre de chiffre a virgule en mémoire, tu multiplies ces valeurs par un coeff quelconque, mais duquel dépendra la précision des valeurs du tableaux:

    Exemple, on multiplie tout par 256:

    Cos 0= 256
    Cos 10 = 252
    Cos 20 = 241
    Cos 30 = 222
    Cos 40 = 196

    Plus tu auras de cases dans ton tableau, plus la précision sera grande, idem concernant le coeff multiplicateur, plus il sera grand, plus grande sera la précision (= plus de chiffres significatifs)

    Dans mon appli, j'ai réserve une case par demi degré (de 0 à 90°) soit 180 cases, et multiplié à chaque fois par 2^14 (taille maxi d'une donnée que l'on peut écrire en flash d'un pic16f)

    Niveau temps d'exécution c'est imbattable, tu as juste un saut (goto / call) à faire pour obtenir le résultat de ton sin/cos

    Enjoy
    If the world doesn't change today, what would it be tomorrow?

  11. #8
    MofK

    Re : Calcul cos/sin en C sur un pic??

    Hello

    Pas bête, cette idée!! je retiens!!
    J'aurais besoin de 180°, voir 90°, avec une précision au demi degré qui devrais me suffire. Tout dépendra de la précision de mon accéléromètre.
    Faut que je regarde ce que prend la fonction cos de hitec en ressources, nb de cycles...
    Je vais chercher pour les bibliothèques. Le plus souvent c'est en anglais, mais bon je ferai avec!!
    merci.
    @+ Benj
    La logique est le moyen systématique d'arriver à la mauvaise conclusion avec confiance...

  12. #9
    embededman

    Re : Calcul cos/sin en C sur un pic??

    Citation Envoyé par MofK Voir le message

    ....
    par contre le carré j'ai pas trouvé.
    @+Benj
    la fonction "carré " c'est
    Code:
     pow ( x,y)
    à utiliser avec précaution à cause de la promotion des types et perte de précision. Ne pas hésiter à faire des cast.

Discussions similaires

  1. Intégration cos(cos(x)) et sin(cos(x))
    Par julien.laget dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 30/06/2008, 09h35
  2. cos/sin
    Par bastien83 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 03/02/2008, 15h02
  3. u = sin(x)-3 u' = cos(x)
    Par yomikosi dans le forum Mathématiques du collège et du lycée
    Réponses: 13
    Dernier message: 09/03/2007, 16h02
  4. SVP aide moi sur cos et sin
    Par yomikosi dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 07/03/2007, 00h17
  5. Calcul de sin PIS/8 et cos PIS/8
    Par julien_4230 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 26/03/2005, 14h56
Découvrez nos comparatifs produits sur l'informatique et les technologies.