M3 Lecture SL OUT ?

Modérateurs : ramses, Balajol, monteric, j2c

Répondre
dccch
Newbie
Newbie
Messages : 18
Enregistré le : mer. mars 05, 2008 13:40 pm
Localisation : Lausanne

Message par dccch »

bonjour,
j'aimerai lire des valeurs de registres sur la sortie série avec le block SL OUT, mais je galère pour obtenir une réponse du Millenium. Je fais donc appel à votre sagacité.
La sortie 25 est fixée avec une valeur=1234
Mes valeurs sont présentes sur la sortie 25 (selon la doc 25-1=24, soit 18 hexa)
Calcul de La trame a envoyer

: 04 03 00 00 FF (Constante) 18(1ere addr. à lire) 0A(nbr. d'octets=10) D8(Checksum) CR LF

Calcul du checksum (sans le : initial)

04+03+00+00+FF+18+0A = 128

Complément à 1, 1-28= D7 puis on augmente de 1 soit D8

Transformation en codage ASCII

: 0 4 0 3 0 0 0 0 F F 1 8 0 A D 8 CR LF
3A 3034 3033 3030 3030 4646 3138 3041 4438 0D 0A


J'envoie cette trame avec un câble série et le soft YAT trouvé sur Sourceforge.net (avec les paramètres 115'000, 7bits, paire. 1 stop ). Le port est bien ouvert et connecté.

Mais le résulat reçu est du genre ;7;?;?;7=;=;w

Mon but est de lire cette valeur régulièrement avec un microprocesseur PIC et de stocker ces données sur une carte mémoire SD/MMC.

Merci pour votre aide.
Modifié en dernier par dccch le dim. janv. 16, 2011 0:17 am, modifié 1 fois.

YVES238
Newbie
Newbie
Messages : 23
Enregistré le : sam. nov. 03, 2007 23:19 pm
Localisation : PARIS 75

Message par YVES238 »

bonjour,
Tu trouveras une bonne partie sur les tutaux sur la page de presentation du forum
http://www.apper-solaire.org/Pages/Prog ... lenium.pdf
bonne continuation
Modifié en dernier par YVES238 le dim. janv. 16, 2011 9:15 am, modifié 2 fois.

Avatar du membre
p_bricoleur
Modérateur
Modérateur
Messages : 1671
Enregistré le : mar. déc. 27, 2005 10:37 am
Localisation : Rueil-Malmaison (92)
Contact :

Message par p_bricoleur »

Bonsoir,

J'ai regardé rapidement.

La trame que tu envoies me semble correcte, en tout cas, mes programmes envoient la même et ça marche.

A noter que comme tu fixes à 10 le nombre d'octets lus et qu'il y a 2 octets par données, tu vas recevoir les données de 25 à 29 incluses.

Es-tu sûr que le Millenium te répond et que tu ne lis pas un tampon non initialisé ?

Si le Millenium te répond vraiment, c'est déjà que ça marche : il a trouvé ta demande correcte et il l'a traitée.

A la moindre erreur dans la demande (checksum, adresse incorrecte), il ignore la requête. C'est ce qui se passe le plus souvent lors des 1ers essais.

Est-ce que YAT n'ajouterait pas encore un CR/LF ?
Egalement, est-il nécessaire de coder l'ASCII ? En général les commandes de terminal sont envoyées directement sous forme de chaine et le programme envoie les bons octets (comme quand on écrit en C dans un fichier binaire ou un port série)

Cordialement,
Thierry Streiff

Répondre

Retourner vers « Crouzet M2-M3, autres API et péripheriques »