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

routine I2C esclave pour basic stamp



  1. #1
    lucs

    routine I2C esclave pour basic stamp

    est que vous auriez un exemple de routine I2C esclave pour un basic stamp 2 ??

    Luc

    -----


  2. Publicité
  3. #2
    Gérard

    Re : routine I2C esclave pour basic stamp

    Et dans la doc du BasicStamp, y-a-t-il quelque chose ?

  4. #3
    lucs

    Re : routine I2C esclave pour basic stamp

    en mode maitre j'ai trouvé mais pas en périphérie esclave

  5. #4
    Gérard

    Re : routine I2C esclave pour basic stamp

    Ton BasicStamp n'est-il pas le maitre ?

  6. #5
    meriman

    Re : routine I2C esclave pour basic stamp

    bonjour,

    j'arrive pas à m'en sortir, en fait j'ai essayé avec une routine I2c , maitre seulement pour afficher à l'hyperterminal les valeurs de température.
    merci

  7. A voir en vidéo sur Futura
  8. #6
    meriman

    Re : routine I2C esclave pour basic stamp

    pardon j'ai oublié j'ai trouvé une routine pour l'esclave:

    #include <p18f452.h> //for ports declarations
    #include <delays.h> //for delay routines
    #include <i2c.h> //gestion de la communication I2C

    #define TRIS_RC3 TRISCbits.TRISC3
    #define TRIS_RC4 TRISCbits.TRISC4

    #define ledACK PORTAbits.RA0
    #define TRIS_ledACK TRISAbits.TRISA0
    #define ledNAK PORTAbits.RA1
    #define TRIS_ledNAK TRISAbits.TRISA1

    char x; //contient la donnée reçue par le MSSP

    /////////////////////////////////////////////////////////////////////////////
    // //
    // Fonction Principale //
    // //
    /////////////////////////////////////////////////////////////////////////////

    void main (void)
    {
    //On désactive l'acquisition analogique
    ADCON1=6;

    TRIS_RC3 = 1;
    TRIS_RC4 = 1;
    TRIS_ledACK = 0;
    TRIS_ledNAK = 0;

    ledACK = 0;
    ledNAK = 0;

    OpenI2C(SLAVE_7, SLEW_OFF);
    SSPADD = 0x40; //Adresse de l'esclave
    SSPCON1bits.CKP = 1; //On relache l'horloge

    while(1)
    {

    if(DataRdyI2C())
    {
    x = ReadI2C();

    if(x == 'A')
    {
    ledACK = 1;
    ledNAK = 0;
    }
    else
    {
    ledNAK = 1;
    ledACK = 0;
    }
    }
    }
    }

    //config du PIC
    #pragma config OSC = HSPLL
    #pragma config PWRT = ON
    #pragma config WDT = OFF
    #pragma config BOR = ON
    #pragma config BORV = 42
    #pragma config LVP = OFF
    Update : Voici ci dessous la v2.0 du code esclave, avec pour grand changement la gestion des communications par interruption.

  9. Publicité

Sur le même thème :

Discussions similaires

  1. Transaction I2C entre deux pics 18f4550 (maître-esclave)
    Par lynal1 dans le forum Électronique
    Réponses: 9
    Dernier message: 12/04/2011, 14h17
  2. Routine I2C
    Par enzo124 dans le forum Électronique
    Réponses: 1
    Dernier message: 10/04/2007, 14h53
  3. basic stamp, pulsout pulsin
    Par lucs dans le forum Électronique
    Réponses: 0
    Dernier message: 24/02/2007, 11h17
  4. PIC18F452 - Maître-esclave I2c
    Par lianoos dans le forum Électronique
    Réponses: 17
    Dernier message: 06/02/2007, 20h18
  5. Basic Stamp Web Server
    Par [RV] dans le forum Technologies
    Réponses: 0
    Dernier message: 13/09/2004, 10h16