IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[Realisation I2C] Lecture/Ecriture EEPROM, convertion de type de donnees


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut [Realisation I2C] Lecture/Ecriture EEPROM, convertion de type de donnees
    Tout d'abord bonjour,

    J ai parcouru un peu le site et je n ai rien trouve qui corresponde a mon probleme.

    Je suis actuellement en stage pour la fin de mon DUT GEII. Dans le cadre de ce stage, je dois configurer une EEPROM via liaison I²C, lui envoye des donnees puis la faire communiquer avec une autre carte muni d une EEPROM identique via le reseau Zigbee.

    C'est en cherchant de l aide sur internet que j ai decouvert votre forum, et apres l avoir un peu parcouru je me suis dit que vous pourriez surement m aider.

    La configuration dont je dispose est :



    -- Un starter kit de RSKM16C29 de chez Renesas : http://documentation.renesas.com/en...km16c29_qsg.pdf

    -- Une EEPROM 24C16 de chez Microchip :
    http://www.datasheetcatalog.com/dat...C/24LC16B.shtml

    -- Le logiciel utilise pour la programmation est :
    HEW4 (High performance embedded workshop) de chez Renesas

    -- La programmation s'effectue en langage C

    des programmes de configuration I²C ont ete fournis par Renesas
    http://documentation.renesas.com/en...0030_m16cap.pdf

    pour l heure, la configuration a ete effectue, le programme se compile sans erreur mais je ne vois pas comment ecrire et lire sur mon EEPROM.
    le code du projet est pour l instant(je le met sous archive pour les differents fichier incluant les .h qui sont assez long) :

    http://www.megaupload.com/fr/?d=9VV6QJZY


    J ai lu un peu de documentation sur le I²C et ai realise le montage de l EEPROM, si vous avez une idee, une piste qui pourrait m aider s il vous plait, merci !


    Convertisseur :

    Pour terminer la fonction qui permet d afficher les donnees de mes capteurs sur le lcd, je dois les convertir.

    le lcd affiche les informations si on les lui envoie en tableau de char, je recois les donnees en tableau de int.

    Je dois donc ajouter une fonction qui me permettra de transformer mon tableau de int en tableau de char.

    pour l heure j'ai voulu tester de cette facon :

    int titi[8]={4,2,5,8,3,5,4,7};
    char TOTO[8];
    for (i=0;i<8;i++)
    {
    TOTO[i]=titi[i];

    }

    mon programme se compile, je l envoie dans le lcd mais la... il affiche une ligne de carre noirs. Pourriez vous s il vous plait m aiguiller sur la marche a suivre pour effectuer ma conversion, j'ai cherche un peu et ai essaye d'utiliser les fonctions atoi mais soit je les ecris mal, soit le compilateur n'en veut pas.

    Merci !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    C'est assez difficile de savoir ce qui ne marche pas vu que tu as branché du matériel. Pour info as_tu un oscillo si oui vérifie que ton prog envoi les bonnes données a l'eeprom( tu fais un start enregistrement sur le passage a l'etat de ta ligne de spi et calcul le temps necessaire d'apres l'horologe pour avoir un ou plusieurs octets) ensuite lit ces memes donnees et verifie : apres ca deja tu auras validé la com avec l'eeprom c'est deja pas mal.
    Pour la conversion atoi c'est char to int si tu veux convertir des int en char normal que ca plante mais plus simplement essaie d'afficher un caractere en initialisant le char avec sa valeur ascii deja tu auras validé l'affichage.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    J ai rentre les valeurs en ASCII et ca fonctionne, donc je vais surement passe par l'ASCII pour l'Affichage.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    ton probleme d'eeprom etait lié a l'affichage ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    pour l'EEPROM non, apparement je vais devoir ajouter une resistance de pull up ou utiliser une fonction interne a la carte, mais pour l affichage, convertir directement en ASCII est une solution plus simple pour moi donc merci !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    a oui si tu oublies la resistance de pull up le circuit ne fournira pas assez de courant pour imposer un etat bas stable. normalement entre 1 et 10 kilo depend des besoins

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    le projet c'est qu'une fois qu'on pourra lire et ecrire sur l'EEprom, on va ajouter des capteurs et recuperer des infos pour les envoyer a un pc via le reseau Zigbee.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 62
    Par défaut
    le reseau zigbee c'est un derivée du wifi faible conso de texas ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Si je me goure pas oui, c'est 802.15.4 et faible conso avec une portee raisonnable, d apres mon maitre de stage, avec les cartes on peut esperer porter a environ 100 metres.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Les resistances de Pull up sont de 4,7k et sont montees sur le SDA et le SCL, retour a la case depart pour la com en somme !

    Merci.

Discussions similaires

  1. Lecture/Ecriture EEPROM SPI
    Par boby6613 dans le forum C
    Réponses: 5
    Dernier message: 14/05/2012, 08h22
  2. lecture/ecriture des broches RTS/CTS du port RS232
    Par .:: sly51 ::. dans le forum C
    Réponses: 3
    Dernier message: 24/10/2006, 15h28
  3. [LG]Lecture-ecriture fichier
    Par arno15 dans le forum Langage
    Réponses: 19
    Dernier message: 03/02/2005, 22h25
  4. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46
  5. Convertion de type VARIANT à type CString
    Par j_grue dans le forum MFC
    Réponses: 2
    Dernier message: 07/11/2002, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo