liaison spi
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

liaison spi



  1. #1
    verdoom

    liaison spi


    ------

    Bonsoir a tous!

    Alors voila je doit réaliser une liaison spi avec mon pic18f4580 sur une card sd en code assembleur. Je sais qu'il y les registres sspcon et sstat pour gérer cette liaison et je doit juste écrire sur cette carte.
    Alors je voulais savoir si il suffise d'envoyer les données sur la carte sd pour qu'elle les enregistres ou si il y avait des conditions spécifiques.

    Merci d'avance!

    -----

  2. #2
    carcan

    Re : liaison spi

    Hello !

    en brut (comme une grosse EEPROM) ou avec un formatage genre FAT32 ????

    A+
    Laurent

  3. #3
    verdoom

    Re : liaison spi

    hum..J'avoue que j'ai encore du mal avec les carte sd, tu veut dire quoi par un formatage FAT32??

  4. #4
    carcan

    Re : liaison spi

    En bref ...
    tu veux la relire uniquement via ton PIC ou depuis un PC ?

    A+
    Laurent

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

    Re : liaison spi

    Bonjour,
    Citation Envoyé par verdoom Voir le message
    Bonsoir a tous!
    Alors voila je doit réaliser une liaison spi avec mon pic18f4580 sur une card sd en code assembleur.
    Pourquoi en assembleur ?
    Mickael

  7. #6
    FattyBumBum

    Re : liaison spi

    Bonjour,

    Tout d'abord, MiKL.66, pourquoi poses-tu cette question ?
    1 - tu ne fais pas avancer d'un poil la discussion
    2 - ta question, n'a en plus, en dehors de la discussion, aucun intérêt. Mais je vais tout de même tenter d'y répondre très brièvement..

    L'assembleur est le langage plus bas niveau qu'un humain puisse écrire.. il permet ainsi, aux étudiants entre autres, d'apprendre comment est organisée une mémoire, les banques, comment manipuler des instructions très basiques et des données.. cela pousse à réfléchir et sans aucun doute, à mieux comprendre le fonctionnement. Certes ça demande plus de temps que de coder en C par exemple, mais cela a de nombreuses vertus.. voilà pourquoi on continue de l'apprendre et que parfois, on conseille vivement de l'utiliser pour un premier projet par exemple.
    Pour finir, au delà de l'aspect pédagogique , du fait de sa nature, le code assembleur permet d'organiser et structurer son programme afin de gagner en temps d'exécution comparé à un code écrit dans un langage plus évolué.

    Oui, MiLK.66, j'ai toujours détesté ce type de réponse !


    Sinon, pour te répondre Verdoom,
    Il faut effectivement configurer les 2 registres que tu as cité pour faire fonctionner correctement ta liaison SPI. Il faut bien à veiller à vérifier le protocole supporté par ta SD card (niveau logic actif, lecture des données sur quel front, nombre de bits, en simplex ou half-duplex (3 ou 4 fils)). Il faudra également peut-être penser à éteindre l'I2C de ton Pic ( c'était le cas par exemple sur le PIC16F87X)
    Si t'as des questions, n'hésites pas
    Dernière modification par FattyBumBum ; 11/04/2013 à 11h20.

  8. #7
    MiKL.66

    Re : liaison spi

    Bonjour,
    Je ne vois pas pourquoi il y a des personnes comme toi qui prennent tout de très haut.
    A la base, c'est un forum de discussion, et si on ne pose pas de question, comment peut on avancer sans comprendre ...

    Citation Envoyé par FattyBumBum Voir le message
    1 - tu ne fais pas avancer d'un poil la discussion
    Je voulais connaitre la raison pour laquelle tu voulais utiliser le langage assembleur et de répondre en conséquence.

    Citation Envoyé par FattyBumBum Voir le message
    2 - ta question, n'a en plus, en dehors de la discussion, aucun intérêt.
    Relis toi pour voir ... ça ne veut rien dire !!!
    Ma question n'est pas en dehors de la discussion, puisque je te pose la question pour cette discussion.
    Réfléchis avant d'être aussi agressif !

    Je connais très bien le langage assembleur mais je ne le pratique plus trop car le C est plus rapide et plus pratique.
    Par contre, il est très intéressant d'inclure de l'assembleur dans le C pour des tâches bien précises !

    Ceci dit, l'incident est clos ... et ne t'embêtes pas à me répondre car cela ne sert à rien de polluer le post plus qu'il ne l'ai déjà.

    Bonne continuation.
    Mickael

    Avis aux modérateurs :
    Une fois que l'intéressé aura vu cette réponse, veuillez effacer ces 2 passages pour ne pas polluer inutilement ce post.

  9. #8
    FattyBumBum

    Re : liaison spi

    Tu sembles te méprendre, MiLK.66..et je souhaite donc te répondre.
    Je ne voulais pas être agressif: si je l'ai été, je m'en excuse.

    Relis toi pour voir ... ça ne veut rien dire !!!
    Bon... veux-tu vraiment rentrer dans ce débat là, qu'est l'usage et l'écriture de la langue Française?
    Connais-tu l'expression "balayer devant sa porte"?

    Et pour finir, je reste sur ma position: ta question a tout de ce qui est énervant pour quelqu'un qui vient chercher de l'aide et avoir une réponse à son problème.

    Bref, l’incident est clôt.
    Bonne continuation également.
    Dernière modification par FattyBumBum ; 11/04/2013 à 13h18.

  10. #9
    verdoom

    Re : liaison spi

    Alors pour répondre a vos questions:

    1- Je souhaite le relire via un PC
    2- Assembleur car étant étudiant je n'ai appris que ce langage et pourtant le c devais être au programme... mais bon sa me permet de bien assimilé les différents registres car j'avais aussi une liaison I2C et rs232 a faire =)!
    3- Pourquoi éteindre l'i2c ??

    Bon j'ai fait me petite recherche sur le spi et sa donnerais sa :
    initialisation SPI master (exemple):
    bcf SSPSTAT , SMP : capture milieu
    BCF SSPSTAT , CKE ; horloge: placement du bit repos vers actif
    movlw b'00110000' ; module actif + repos de l'horloge sur front montant+ tcy=4*1/20MHZ
    movlw b'0001000'
    movwf TRISC ; configuration des ports

    Émission :
    movlw b'00100000'
    movlw SSPBUF
    par contre la je doit voir si l'échange d'information est terminer avec SSPIF du registre PIR1 (comment faire?)

    Voila pour l'instant, en tout cas merci pour vos réponses

  11. #10
    verdoom

    Re : liaison spi

    oups petit oublie
    movlw b'00110000' ; module actif + repos de l'horloge sur front montant+ tcy=4*1/20MHZ
    movwf SSPCON

  12. #11
    Aurélien

    Re : liaison spi

    FattyBumBum, je ne vois pas en quoi ta critique fait elle aussi avancer les choses...on n'est pas la pour débattre des qualités de l'assembleur pour l'apprentissage.

    Par contre, la question de Milk66 était sensée. Le mec nous parle tout juste de SSPCON et SSPSTAT et ne connait pas FAT32 alors qu'il va devoir se coltiner tout le code de gestion SD + la FAT (puisqu'il veut gérer la carte aussi depuis un PC). C'est une bien mauvaise idée que de l'encourager à aller sur cette voie ! C'est une telle usine à gaz que quand il aura fini son driver complet les cartes mémoires auront été remplacées par des implants bioniques ! Et si tu veux lui conseiller de retranscrire du code C de librairies trouvées sur le net vers l'assembleur, ça ne présente aucun intéret.

    verdoom, petit conseil : avant de commencer à pisser du code, structure ton programme sur papier, lis des specs, des docs, etc...un programmeur commence toujours sur le papier.

  13. #12
    carcan

    Re : liaison spi

    Hello !

    Comme le dit Aurélien, faire de la gestion de FAT32 en assembleur est un défi débile (réinventer la roue...) et très compliqué.
    Soit tu prends un langage évolué qui intègre ces fonctions (librairies ou drivers), soit tu prends un hardware adapté (genre OpenLog, je l'adore).

    Bonne journée
    Laurent

    PS : FattyBumBum ... tu sers à quoi ??? à rien

  14. #13
    FattyBumBum

    Re : liaison spi

    Hum.. j'ai comme la mauvaise impression de m'être fait terriblement mal compris lors de mon premier poste.
    Dois-je abdiquer devant votre unification qui me laisse penser que j'ai tort? Peut-être..après-tout, il faut savoir reconnaître ses erreurs.. d'où mes excuses déjà présentées aux postes #8.
    J'arrête ainsi de "polluer" cette conversation. Néanmoins, Carcan, c'est pas très respectueux ce que tu me dis là
    PS : FattyBumBum ... tu sers à quoi ??? à rien
    Bref, passons.

    Verdoom, je désactivais l'I2C sur le 16F877 car 2 des broches de l'I2C étaient communes à celles du SPI. Il semble en être de même pour le 18F4580 (voir par exemple RC4/SDI/SDA )
    Parfois, peut-être pas ici, des modules sont activés par défaut. Il faut ainsi les désactiver pour s'assurer qu'ils soient bien off et ainsi éviter un conflit.

    Ton initialisation à l'air correcte à première vue.
    Pense aussi à vérifier la fréquence d'horloge acceptable de ta sd card et de régler celle du maître en conséquence.

    par contre la je doit voir si l'échange d'information est terminer avec SSPIF du registre PIR1
    Lorsque rien ne se passe, ce bit est et reste à 0. Il suffit ainsi de lire ce bit après l'envoi/réception et faire une petite condition en attendant qu'il passe à 1 (sans oublier ensuite, de le remettre à 0).


    Bonne continuation tout le monde,
    Et bon courage à toi verdoom
    Dernière modification par FattyBumBum ; 11/04/2013 à 16h25.

  15. #14
    verdoom

    Re : liaison spi

    Et comment marche cette hardware??
    Dernière modification par verdoom ; 11/04/2013 à 16h40.

Discussions similaires

  1. MAsque en C et liaison SPI
    Par invite8a011b82 dans le forum Électronique
    Réponses: 12
    Dernier message: 27/06/2012, 16h28
  2. Liaison spi
    Par invite59bcd9ab dans le forum Électronique
    Réponses: 2
    Dernier message: 01/02/2012, 17h33
  3. liaison SPI
    Par invited549592e dans le forum Électronique
    Réponses: 3
    Dernier message: 19/02/2010, 21h23
  4. Problème liaison SPI
    Par Pilou81 dans le forum Électronique
    Réponses: 15
    Dernier message: 21/01/2010, 19h25
Découvrez nos comparatifs produits sur l'informatique et les technologies.