Problème de lecture avec la fonction "SPI_get_char"

Forum de support pour les locuteurs de la langue française qui souhaitent écrire dans leur langue maternelle.

Moderator: Benj

Post Reply
cyke66
Flowcode V4 User
Posts: 1
Joined: Sun Jan 22, 2012 3:03 pm
Location: france
Contact:

Problème de lecture avec la fonction "SPI_get_char"

Post by cyke66 »

Bonjour,
Je cherche à établir une communication entre un capteur de température TC72 et un PIC 16F877 via une liaison SPI.
Je peux écrire sans problème dans les registres du TC72 avec la macro « SPI_send_char » de Flowcode, par contre je ne peux lire les valeurs des registres avec la macro « SPI_get_char » : La valeur reçue est constamment 0x5A (90 en décimal) !
La simulation détaillée pas à pas sous « ISIS » montre que le dialogue entre les deux composants est correct et que les valeurs attendues circulent bien sur le bus SPI. Mais malheureusement lors de l’exécution de la macro « SPI_get_char », le registre « sspbuf » conserve la valeur 0x5A : Il ne semble être mis à jour avec la valeur de l’octet reçu qu’après sa sortie de la macro !
Est-ce que j’utilise mal la macro « SPI_get_char » ?
Mon programme est-il erroné ?
Confirmez-vous mes observations ?
Merci de votre aide…
Cordialement
Attachments
TC72.fcf
Fichier Flowcode
(8.5 KiB) Downloaded 223 times

Spanish_dude
Posts: 594
Joined: Thu Sep 17, 2009 7:52 am
Location: Belgium
Has thanked: 63 times
Been thanked: 102 times
Contact:

Re: Problème de lecture avec la fonction "SPI_get_char"

Post by Spanish_dude »

Salut,

Tu as essayé de lire les différents registres individuellement au lieu de les lires tous en une fois ?
Tu pourrais aussi essayer d'ajouter un delay après chaque TC72, juste pour laisser un tout petit instant au chip de s'activer.
Un truc que tu pourrais faire, vu que la mise a jour du registre ne se fait qu'après un get_char, utilise cette fonction avec une variable inutile rien que pour que le registre ai la bonne valeur.

Nicolas

PS: Si tu as un oscilloscope pour vérifier si les données sont bien envoyé/reçu ça t'aidera énormément.

Post Reply