RS 232 de QBASIC à Vb6 [Résolu]

Messages postés
43
Date d'inscription
samedi 10 décembre 2005
Dernière intervention
12 juillet 2007
- - Dernière réponse : Mhamed Jamil
Messages postés
5
Date d'inscription
mercredi 10 mai 2006
Dernière intervention
16 août 2006
- 16 août 2006 à 14:40
Bonjour
En fait je cherche l'équivalent de la fonction  OUT de QBASIC pour toucher l'RS 232
J'ai déja trouvé, avec mscomm32.ocx , comment ouvrir le port COM1 mais je mscomm32.ocx ne permet pas de fair la fonction la: (en QBASIC)
OUT 1019,64
Avec mscomm32.ocx on ne peut envoyer que de l'ascii mais pas gerer completement le port
merci
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
328
Date d'inscription
mardi 9 mars 2004
Dernière intervention
15 décembre 2006
1
3
Merci
Bonjour a tous,

Nicodada > Si tu veux  piloter TXD (Plage E/S COM1 théorique &H3F8-&H3FF  (1019 = adresse base &H3F8 +3) 
directement utilise plutôt par exemple "PORT.DLL"
La syntaxe sera : TXD(0) et TXD(1).

Salut Jack.

Adamo901 > Je ne pense pas que ce soit possible d'atteindre ces vitesse, mais il est possible de reformer un Octet ou un paquet de bits directement via les lignes RTS DTR ect...(pareil en reception)
Donc il faut calculer la durée d'un bit a 100 ou 200 bauds et reformer l'octet ou le paquet de bits.
Et faire la même chose pour la reception...

A+
ryl...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 86 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rylryl
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
72
0
Merci
Salut
On peut faire beaucoup de chose avec ls MSComm32
Si tu nous dis à quoi correspondent les valeurs 1019 et 64, on pourra peut-être t'aider.
+ Lire les réponses à cette question récemment posée sur le forum : clique ici

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
Commenter la réponse de cs_Jack
Messages postés
140
Date d'inscription
mardi 18 janvier 2005
Dernière intervention
8 décembre 2008
0
Merci
une question dans le cadre pour jack :
J'ai besoin de communiquer avec le port comm en utilisant commevitesse 200 ou 100

MSCOMM ne l'accèpte pas!!

Aves vous une solution SVP!
Commenter la réponse de adamo901
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
72
0
Merci
En effet, ce sont des vitesses hors normes = matériel trop vieux ?
Commenter la réponse de cs_Jack
Messages postés
140
Date d'inscription
mardi 18 janvier 2005
Dernière intervention
8 décembre 2008
0
Merci
oui, ce sont des liaions télégraphiques.

J'ai vraimenet besoin d'aide sur ce sujet
Commenter la réponse de adamo901
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
72
0
Merci
Re
Si tu veux de l'aide, je le répète, dis nous à quoi servent ces chiffres 1019 et 64
Commenter la réponse de cs_Jack
Messages postés
140
Date d'inscription
mardi 18 janvier 2005
Dernière intervention
8 décembre 2008
0
Merci
moi je veux de l'aide et ce que je veux c'est pouvoir utiliser mscomm à des vitesses autres que ce celles prédéfinies par microsoft.
Commenter la réponse de adamo901
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
72
0
Merci
Amado901 : Non, ce n'est pas possible avec ce composant.

Nicolada : J'espère que tu viendras lire les réponses à ta question ...
A priori, si comme le dit Rylryl, cette adresse pointe l'adresse du port Com, il suffit d'utiliser COM1 avec MSComm et ce sera pareil.
Commenter la réponse de cs_Jack
Messages postés
328
Date d'inscription
mardi 9 mars 2004
Dernière intervention
15 décembre 2006
1
0
Merci
Re,

Jack > Je ne suis pas tout a fait de ton avis   , pas taper  pas taper!!
Je pense que c'est possible de passer a 100,200 avec MSCOMM mais en faisant une "EMULATION"
Du bloc de bits a transmettre, comme j'ai essayé de l'expliquer plus haut...

Et pour le sujet de Nicodada , je pense qu'il  veut juste contrôler l'etat de la ligne TXD (sans BAUD,STOP,PARITE)
Mais il me semble qu'avec MSCOMM il n'est pas possible de contrôler directement cette ligne... a vérifier ...

PS : Je ne veux surtout pas te froisser Jack tu fait un super boulot...!

A+
ryl...
Commenter la réponse de rylryl
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
72
0
Merci
lol Rylryl : je suis pas du genre à frapper !
C'est moi qui te remercie de ta participation.
Honnètement, ça m'étonnerait qu'on puisse bidouiller la vitesse puisque le cadensement est géré par le circuit, mais bon, pourquoi pas, mais je n'ai jamais vu ça.

Par contre, pour bien voir ce qui se passe sur le port Com, cette source (pas toute jeune) est super bien faite
clique ici . La source utilise une DLL nommée RSCOM.dll
Commenter la réponse de cs_Jack
Messages postés
328
Date d'inscription
mardi 9 mars 2004
Dernière intervention
15 décembre 2006
1
0
Merci
Bonjour Jack,


Super!, Merci pour ta compréhention !


Il n'est plus question d'utiliser le cadencement interne,
Mais bien de capturer a un instant "T" le début d'un envoie (ou recep)
Et de reformer le bloc de bits...


Je connais RSCOM.DLL, en fait RSCOM.DLL et PORT.DLL sont soeur :
Le créateur "Burkhard Kainka"
http://www.b-kainka.de/
Il y a sur son site toutes les infos sur les DLL, il est aussi possible de les utiliser pour:
Piloter L'IRDA, Piloter Carte son, Piloter le port MIDI ect...
(ATTENTION !! Certaines fonctions sont HS sous XP!!)


A bientôt...


ryl...
Commenter la réponse de rylryl
Messages postés
43
Date d'inscription
samedi 10 décembre 2005
Dernière intervention
12 juillet 2007
0
Merci
J'ai trouvé plus facilement ce que je cherché grace au port.dll
merci a tous
Commenter la réponse de nicodada
Messages postés
5
Date d'inscription
mercredi 10 mai 2006
Dernière intervention
16 août 2006
0
Merci
Bonjour,


J’ai un code pour gèrer une carte électronique avec le port com1.


J’ai réussi à envoyer des commandes par le MsComm, mais je n’arrive pas à traduire le QBasic au VB6 pour récupérer les données d’entrées (InPut)


Voici le code en QBasic :

Open "COM2:9600,N,8,1,rs,cs0,ds0" For Random As #10


Do
    Print #10, "**" + Chr$(Val(a$)) + "#";
                 
    digital$ = Input$(1, #10)
    ad1$ = Input$(1, #10)
    ad2$ = Input$(1, #10)



    Print "Ingressi ="; Asc(digital$);
    Print "Convertitore A/D 1 ="; Asc(ad1$);
    Print "Convertitore A/D 2 ="; Asc(ad2$)
          
    SLEEP 5
Loop
End

Merci de votre aide.
Commenter la réponse de Mhamed Jamil

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.