Ecrire une chaîne de caractère dans une zone mémoire
Publié : dim. 30/oct./2016 11:57
Salut,
Comme je l'écrivais dans mon post sur l'ACR122 (lecteur de carte rfid), je ne suis pas un spécialiste des pointeurs.
J’ouvre ce post distinct car ma demande est un peu générale par rapport à la spécificité des accès au lecteur RFID (même si c'est intimement lié).
Voilà mon problème:
je commence à solutionner les commandes (ADPU) pour lire et écrire dans mon lecteur de cartes.
Lire pas de problème, ça tourne désormais.
C'est écrire qui me pose problème :
En effet, je dois entrer dans une chaîne les commandes en Hexa et dans cette même chaîne le contenu de ce que je veux écrire :
exemple : FFD6000210
jusque là, le programme utilise un pointeur *IN
Mon souci vient du fait que lorsque je veux ajouter une chaîne de caractère derrière cette première partie.
J'obtiens du "chinois"...
Ce que je cherche à faire c'est avoir FFD6000210+"chaîne de 16 octets" à partir d'une même adresse et formant une chaîne que j'injecte ensuite ne commande dans mon lecteur en attendant le retour (soit une erreur soit une chaîne de caractère que je cherche également à lire autrement qu'en caractère chinois).
En effet, j'ai le même problème de conversion lorsque je veux lire cette chaîne écrite (ou toute autre chaîne ASCII) contenue dans le block XX.
Je dois avouer que les pointeurs (et les problèmes de table de conversion) ne sont pas mon fort. J'ai besoin d'une leçon et d'un peu d'aide.
Comme je l'écrivais dans mon post sur l'ACR122 (lecteur de carte rfid), je ne suis pas un spécialiste des pointeurs.
J’ouvre ce post distinct car ma demande est un peu générale par rapport à la spécificité des accès au lecteur RFID (même si c'est intimement lié).
Voilà mon problème:
je commence à solutionner les commandes (ADPU) pour lire et écrire dans mon lecteur de cartes.
Lire pas de problème, ça tourne désormais.
C'est écrire qui me pose problème :
En effet, je dois entrer dans une chaîne les commandes en Hexa et dans cette même chaîne le contenu de ce que je veux écrire :
exemple : FFD6000210
jusque là, le programme utilise un pointeur *IN
Code : Tout sélectionner
PokeB(*IN,$ff)
PokeB(*IN+1,$d6)
PokeB(*IN+2,$00)
PokeB(*IN+3,$02)
PokeB(*IN+4,$10)
J'obtiens du "chinois"...
Ce que je cherche à faire c'est avoir FFD6000210+"chaîne de 16 octets" à partir d'une même adresse et formant une chaîne que j'injecte ensuite ne commande dans mon lecteur en attendant le retour (soit une erreur soit une chaîne de caractère que je cherche également à lire autrement qu'en caractère chinois).
En effet, j'ai le même problème de conversion lorsque je veux lire cette chaîne écrite (ou toute autre chaîne ASCII) contenue dans le block XX.
Je dois avouer que les pointeurs (et les problèmes de table de conversion) ne sont pas mon fort. J'ai besoin d'une leçon et d'un peu d'aide.