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 :

[Débutant] Utilisation du SPI writing du rabbit 4000


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [Débutant] Utilisation du SPI writing du rabbit 4000
    bonjours,

    Je travail actuellement avec un rabbit 4000 et je doit contrôler un convertisseur analogique digital. Je vais donc utiliser la fonction writing du SPI

    Je ne suis pas très doué en programmation car je suis encore à mes début. J'utilise un exemple fourni avec dynamic C.
    Ma question est commment faire pour envoyé les bytes voulu à l'adresse du data à écrire:

    SPIWrite <SPI.LIB>

    SYNTAX: int SPIWrite ( void *SrcAddr, int ByteCount );

    DESCRIPTION: Write a block of bytes to the SPI port

    PARAMETER1: address of data to write
    PARAMETER2: number of bytes to write


    Je n'arrive pas à trouver dans quel registre ou autre je dois écrire mes 16 bits (car je devrais envoyer deux fois 8 bits)

    mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #define SPI_SER_B
    #define SPI_CLK_DIVISOR 100
     
     
    #use "spi.lib"
     
    void main()
    {
     
       char adc_writing[2] ;
    	int
     
     
     
    	SPIinit();
     
    	while(1)
    	{
     
     		BitWrPortI(PBDR, &PBDRShadow, 0, 7);	// chip select low
          SPIWrite (&adc_writing, 2) ;
    		BitWrPortI(PBDR, &PBDRShadow, 1, 7);	// chip select hight
     
    	}
    }

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Tu as déjà un interface vers les couches bas niveau avec cette librairie.
    Tu n'as donc pas à écrire dans un quelconque registre.

    L'optique est d'appeler dans ton cas la fonction handler d'écriture sur le SPI, donc SPIWrite qui elle se chargera de remplir le registre et d'envoyer le tout sur le SPI.
    Donc appelles cette fonction avec en premier paramètre l'adresse de ton buffer contenant les deux octets et en second paramètre la taille de ce qui est envoyé (dans ton cas : 2 car 2 * 8bits = 2 octets (bytes))

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

Discussions similaires

  1. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  2. Réponses: 19
    Dernier message: 28/04/2005, 15h36
  3. [Débutant]Utilisation de swing
    Par OtI$ dans le forum Débuter
    Réponses: 10
    Dernier message: 01/12/2004, 21h27
  4. [Débutant] Utilisation du mot clé ASSERT
    Par analysiz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2004, 11h43
  5. [Débutant] Utilisation de FOP - Register Fonts with FOP
    Par Johnbob dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 31/01/2004, 00h27

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