Longue chaine string entre 2 picaxe

spheris

Senior Member
Bonjour,
Deux picaxe dans 2 pièces différentes reliées en rs232. Le premier envoi la chaine:
serout C.1,T4800,("ceci est la longue chaine de caracteres envoyés").

je cale sur le code de réception.
du style serin C.2,T4800,???
pourriez vous m'aider?
Merci ;-)
 
Last edited:

PieM

Senior Member
Bonjour,

Les caractères sont reçus en tant que codes ASCII, et à mon avis il faut les stocker en utilisant l'adressage indirect à partir de l'adresse 28 si c'est un M2, pour ne pas interférer avec les variables b0 --- b27
donc fixer bptr = 28
et recevoir les bytes par serin ... @bptrinc
Quel picaxe ?
La longueur de chaîne est constante ?
 

PieM

Senior Member
Ok. Moi je mettrai en début de ta chaine, un qualifier qui te permet de saisir ta chaine dès le début.
Voir par exemple le post sur la réception GPS. https://picaxeforum.co.uk/threads/frequence-ou-vitesse.29759/page-3#post-313268

suppose que tu mettes "start" en début , ta commande d'envoi serait:
serout C.1,T4800,("start ceci est la longue chaine de caracteres envoyés").
et en réception:
bptr = 28 ' pour laisser les variables b0 ...b27 disponibles
serin C.2,T4800, ("start"),@bptrinc,@bptrinc,@bptrinc,@bptrinc, ....
 

spheris

Senior Member
merci pour votre réponse, j'ai bien compris la façon dont le picaxe doit réceptionner les données.
Par contre je ne sais pas comment les exploiter ou les récupérer dans @bptrinc.
Avecc b0,b1, etc... j'exploite des variables classiques, mais avec cette méthode, comment faire?
Je voudrais une fois reçues, les envoyer par i2c sur un afficheur bleu 4x20 sur la 2 et 3eme ligne...
 

BESQUEUT

Senior Member
Ok. Moi je mettrai en début de ta chaine, un qualifier qui te permet de saisir ta chaine dès le début.
Voir par exemple le post sur la réception GPS. https://picaxeforum.co.uk/threads/frequence-ou-vitesse.29759/page-3#post-313268

suppose que tu mettes "start" en début , ta commande d'envoi serait:
serout C.1,T4800,("start ceci est la longue chaine de caracteres envoyés").
et en réception:
bptr = 28 ' pour laisser les variables b0 ...b27 disponibles
serin C.2,T4800, ("start"),@bptrinc,@bptrinc,@bptrinc,@bptrinc, ....
Pour être exact, il manque un espace dans le qualifier, ou alors il faut poubeliser le premier caractère reçu.
 

BESQUEUT

Senior Member
merci pour votre réponse, j'ai bien compris la façon dont le picaxe doit réceptionner les données.
Par contre je ne sais pas comment les exploiter ou les récupérer dans @bptrinc.
Avecc b0,b1, etc... j'exploite des variables classiques, mais avec cette méthode, comment faire?
Je voudrais une fois reçues, les envoyer par i2c sur un afficheur bleu 4x20 sur la 2 et 3eme ligne...
C'est exactement pareil :
bptr = 28 ' pour laisser les variables b0 ...b27 disponibles
writeI2C choix de la ligne...
writeI2C Adresse,(@bptrinc,@bptrinc,@bptrinc,@bptrinc, ....
 
Last edited:
Top