Afficher caractères Texte stockés en Bytes dans la ScratchPad Ram

zorgloub

Member
Bonjour à l'équipe,

J'ai une suite d'octets, représentant des caractères texte, stockés dans la ScratchPad-Ram.

Exemple: (71,97,114,97,103,101) ----> "Garage"

Je voudrais donc "simplement" les afficher sur le terminal (Sertxd ...)

1) J'essaye ceci mais j'ai une erreur de syntaxe car la commande bintoAscii ne semble pas ce qu'il faut utiliser ici.

for ptr = 1 to 6 ' indexation du pointeur de la ScratchPad. (Le texte à afficher commence à ptr = 1)
sertxd (bintoAscii (@ptrinc)) ' ---> Syntax Error !
next ptr

En fait, il faudrait un truc du style Bin to Character :confused:

2) Est-il possible de connaître le nombre d'octets présents dans cette ScratchPad ? (Pour remplacer la valeur 6 par le nombre de caractères présents à afficher)

3) Y a t-il une commande pour effacer (vider) la ScratchPad ?

Merci pour votre aide.
 

PieM

Senior Member
OK, résolu avec ce simple code qui pourra peut-être vous servir aussi:

For ptr = 1 To 6 : SerTxd( @ptr ) : Next

Le terminal affiche bien le caractère lisible et non sa valeur Binaire...

RESOLU
---------------------------------------------
Quand on rentre "GARAGE", c'est déjà une suite de codes ASCII.
et un code ASCII peut s'exprimer en binaire , en hexa , décimal ou toute autre base.
 

zorgloub

Member
RESOLU

Hi PieM,

Oui, bien sûr, je voulais dire "Le terminal affiche bien le caractère lisible et non sa valeur Ascii en Dec ou en Hex...".
En fait, je pensais que cette commande allait me retourner les valeurs (71,97,114,97,103,101).
Mais non, ça affiche bien le string "Garage" :)

Bonne journée à tou(te)s
---------------------------------------------------
 
Last edited:

westaust55

Moderator
Si vous souhaitez voir la valeur de scratchpad comme une valeur ascii alors:
1. lire dans la valeur de scratchpad
2. utiliser BIN2ASCII pour convertir la valeur unique en 2 ou 3 valeurs (en format ASCII) pour représenter les centaines, les dizaines et les unités
3. Utilisez SEROUT pour envoyer les 2 ou 3 digitis - vous pouvez tester si des centaines = "0" et envoyer un espace.


En variante et uniquement applicable à la commande SEROUT:
1. lire dans la valeur de scratchpad dans une variable
2. USER SEROUT et préfixe le nom de la variable avec # (e.g. #b0 )


P.s. Je pourrais être considéré comme une bonne pratique pour identifier que le code que vous avez posté à post2 ci-dessus a été fourni par le membre du forum "hippy"
http://www.picaxeforum.co.uk/showthread.php?29890-Display-Text-characters-stored-in-Bytes-in-the-ScratchPad-Ram
 
Last edited:

MGU

Senior Member
P.s. Je pourrais être considéré comme une bonne pratique pour identifier que le code que vous avez posté à post2 ci-dessus a été fourni par le membre du forum "hippy"
Bonjour,

OUI, il est toujours plus élégant de préciser ses sources.....

MM
 
Top