2017-07-23 4 views
0

Jouer avec Windows IoT sur un Raspberry Pi 3 et j'essaie de communiquer avec un Adafruit RFM69HCW.SpiDevice lire, écrire et transférer

Je me suis connecté à l'appareil via SPI et peu importe ce que je fais, je n'arrive pas à obtenir le pi pour lire quoi que ce soit à partir des registres de l'appareil. La seule chose que je voulais savoir est ce que fait exactement SpiDevice.Read(), Write(), TransferSequential() et TransferFullDuplex()? Je connais les bases évidentes mais je suis après les étapes qu'il effectue pour chaque fonction. Raison Je pose la question parce que dans la spécification du module RF, il est indiqué que lorsque vous communiquez, vous devez régler la broche CS sur faible, envoyez la commande, puis réglez la broche CS sur Élevé. Est-ce que, par exemple, SpiDevice.Read() le faites déjà?

J'ai converti à la fois une bibliothèque Arduino et un code Python Raspberry Pi donc je sais d'abord faire la réinitialisation matérielle.

Lien vers la spécification si vous êtes intéressé. RFM69HCW-V1.1.pdf

Répondre

1

Je pose la question parce que dans la spécification du module RF, il dit quand communication vous devez définir la broche CS à bas, envoyer la commande et Réglez ensuite la broche CS retour au plus élevé. Est-ce que, par exemple, SpiDevice.Read() le font déjà?

Oui, vous avez raison. Je teste le SPIAccelerometer sample et obtiens le diagramme de séquence suivant. La ligne jaune est la puce et l'autre est la ligne d'horloge. Comme vous pouvez le voir, lors de l'écriture et la lecture du CS est mis à bas. (La forme d'onde est laid parce que mon champ a une faible performance.)

enter image description here

+0

Excellent! Je vous remercie – Gaz83