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

[help]mise en oeuvre de l'i²c avec un atmel



  1. #1
    rastakile

    Red face [help]mise en oeuvre de l'i²c avec un atmel


    ------

    Bonjour a tous !

    Voila, j'ai fait l'aquisition d'une rtc, ainsi que d'un atmega.

    Je cherche donc a realiser la liaison pour recuperer toute les donner de l'horloge.

    J'ai donc été voire la documentation de l'atmel ( http://www.atmel.com/dyn/resources/p...ts/doc8271.pdf pages 216), ainsi que la documentation de la rtc ( http://www.nxp.com/documents/data_sheet/PCF8563.pdf )

    Suite à cela, j'ai commencé a composer mon programme, et voila un petit bout de temps que je bloque, et que je ne vois pas trop ou est l'erreur.

    Voici mon bout de code permettant cette fonction :

    TWCR = 0xA4; //Mes en fonction le bus de com TWEN, la condition de start TWSTA, et met à 0 le bit d'interuption TWINT (mis a un lorsqu'un job est fini)

    while(!(TWCR & 0x80)); // Attend que la condition de start soit ben faite

    TWDR = 0xA2; //Mise en memoire de l'adresse de l'esclave
    TWCR |= 0x84; //remet a 0 le bit d'interuption et active le module com

    while(!(TWCR & 0x80)); // Attend que TWDR soit transmis, et un ACK ou NACK

    TWDR = 0x02; // Met dans TWDR l'adresse des secondes
    TWCR |= 0x84; //remet a 0 le bit d'interuption et active le module com

    while(!(TWCR & 0x80)); // Attend que TWINT soit a 1, et que ack ou nack soit present sur l'esclave

    TWDR = 0xA3; //Met dans TWDR l'adresse de l'esclave, mais en mode lecture cette fois ci

    TWCR |= 0xA4;//comme d'hab", a la difference que l'on relance un bit de start

    while(!(TWCR & 0x80)); // Attend l'aquitement

    for(a=0;a<7;a++) //Stock les données recu dans un tableau
    {
    recu[a]=TWDR;
    TWCR |= 84;
    }

    TWCR = 0x94; // Met fin a toute communication

    Peut etre vous trouverez ce qui ne marche pas, je vais continuer a chercher.

    Merci

    -----

  2. #2
    rastakile

    Re : [help]mise en oeuvre de l'i²c avec un atmel

    Meme si tout le monde s'est empressé de repondre (joke x) ), j'ai trouvé la solution.

    Merci quand meme !

Discussions similaires

  1. mise en oeuvre du TB6560AHQ
    Par alexglvr dans le forum Électronique
    Réponses: 5
    Dernier message: 20/04/2010, 17h27
  2. Mise ne oeuvre de son electricité domestique avec gaines blindées
    Par ganmat dans le forum Bricolage et décoration
    Réponses: 15
    Dernier message: 13/03/2009, 18h09
  3. mise en oeuvre du LT1083 ??
    Par bellad dans le forum Électronique
    Réponses: 4
    Dernier message: 22/09/2008, 23h04
  4. Conseil de mise en oeuvre.
    Par abracadabra75 dans le forum Électronique
    Réponses: 6
    Dernier message: 30/07/2008, 09h28
  5. Mise en oeuvre d'un bus CANOpen avec PC
    Par Nawel dans le forum Électronique
    Réponses: 3
    Dernier message: 22/03/2005, 15h23
Découvrez nos comparatifs produits sur l'informatique et les technologies.