alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 22 février 2005 - 15 h 24 m 52 s |
|
|
Bonjour à toutes et à tous
Je suis en train de faire un logiciel pour controler un terminal téléphonique par Visual Basic... Mais j'ai un petit problème: le terminal utilise le protocle RS232 à une vitesse de 6972 bps, alors que le controle MSComm n'accepte que les vitesses standards genre 4800, 9600, etc.
Es-ce que vous sauriez comment faire fonctionner le port série à une vitesse non-standard? (que ça soit avec le controle MSComm ou avec un control alternatif)
Merci
EDIT: Update: donc, sur http://www.codeproject.com/Purgatory/serial_port.asp j'ai trouvé un petit programme en C++ qui fait ceci...
Le but est donc de transformer ce petit C++ et Basic (par exemple en librarie à inclure)... Savez-vous comment procéder?
EDIT II: Pour interfacer Visual C++ et Vİsual Basic il faut utiliser les DLL ... un petit tuto ce trouve sur http://www.flipcode.com/articles/article_vbdlls.shtml
Merci
|
|
| |
Message édité 2 fois, la dernière par alitokmen le 22 juillet 2005 - 08 h 27. |
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
|
| |
Huile de fraise.
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 23 février 2005 - 11 h 06 m 49 s |
|
|
Ta doc c'est pour Windows CE
Ba en fait non je ne peux pas... Enfin, je ne préfès vraiment pas
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
|
| |
Huile de fraise.
|
beavis
I hate the teletubbies...
Messages : 1 002 Inscrit le 18/09/03
Ville : Lyon 6e part-dieu
Non connecté
|
|
Posté le 24 février 2005 - 12 h 08 m 02 s |
|
|
A priori je crois pas qu'on puisse programmer un UART Serie pour aller à une telle vitesse :
=> un lien vers les uart serie les plus communement trouvés dans les PC
http://www.lammertbies.nl/comm/info/RS-232_uart.html#regs (voir le tableau à la fin)
115200 / ta vitesse ça fait pas un nombre entier...
donc pas de diviseur pour programmer l'UART...
Si l'électronique peut pas, la programation pourra rien pour toi...
[ EDIT ]
Essaye au cas ou avec diviseur de 16 ou 17
je saurais le faire en C sous linux mais en vb sous win 2000/xp, comme t'as pas trop le droit d'attaquer le matos direct...
|
|
| |
Message édité 4 fois, la dernière par beavis le 24 février 2005 - 12 h 21. |
| |
www.bearstech.com
|
Micka
J'ai pas de vie sociale, alors je pompes sur Lone Cut et Kiki. J'vous l'avait dit hier, rien de tel qu'une bonne nuit de sommeil.
Messages : 2 926 Inscrit le 23/04/02
Ville : [38] Deriere toi
Non connecté
|
|
Posté le 24 février 2005 - 14 h 51 m 00 s |
|
|
Le 24 février 2005 - 12 h 08, beavis a écrit :
A priori je crois pas qu'on puisse programmer un UART Serie pour aller à une telle vitesse :
=> un lien vers les uart serie les plus communement trouvés dans les PC
http://www.lammertbies.nl/comm/info/RS-232_uart.html#regs (voir le tableau à la fin)
115200 / ta vitesse ça fait pas un nombre entier...
donc pas de diviseur pour programmer l'UART...
Si l'électronique peut pas, la programation pourra rien pour toi...
[ EDIT ]
Essaye au cas ou avec diviseur de 16 ou 17
je saurais le faire en C sous linux mais en vb sous win 2000/xp, comme t'as pas trop le droit d'attaquer le matos direct...
|
Euh, on peut tout à fait configurer (d'un poit de vu hard et pour les UART que j'ai vu passer) une UART sur la vitesse que l'on souhaite, vu qu'il s'agit généralement de configurer un diviseur (16 ou 32 bits) de l'horloge fournie à l'UART. Apres en effet les vitesses de transfert utilisées sont relativement standardisées, mais c'est pas un choix hard.
[ EDIT ]
Cependant, il doit etre assez difficile sous Windows "d'attaquer" l'UART en direct.
Une autre solution : Tu ajoute un petit module hard sur ta ligne série, pour bufferiser les échanges, mais je ne sais pas si ca existe (si non, tu peux toujours le faire toi meme...  )
|
|
| |
Message édité 1 fois, la dernière par Micka le 24 février 2005 - 15 h 01. |
| |
J'ai plus de sous, mais une voiture
www.multiprises.com
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 25 février 2005 - 20 h 29 m 31 s |
|
|
C'est pour ça que je suis en train de bosser avec le fichier port.dll, mais la doc est en allemand
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 25 février 2005 - 20 h 30 m 46 s |
|
|
Le 24 février 2005 - 03 h 48, Petit_PimoOosE a écrit :
et si tu te crées ton propre OCX ? |
 ça va être dur pour moi je crois mais on verra
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
tempo
Zen
Messages : 2 177 Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
|
|
Posté le 27 février 2005 - 11 h 21 m 05 s |
|
|
as-tu essayé avec le debit "standard" le plus proche du debit bizare de ton terminal ?
en general les FIFOs des UARTs sont assez "tolérantes"...
si tu peux (je ne sais pas quels diviseurs tu peux appliquer...):
- 115200/16 (7200 bauds)
- 115200/17 (6776 bauds)
- 115200/18 (6400 bauds)
[EDIT]
cf suggestion de beavis...
[EDIT2]
vu dans kernel linux:
base_baud=1843200 (...6972*264) sur SGI IP32 et dans un driver modem ISDN
base_baud=1382400 (...6972*192) dans les defs du driver serial 8250
base_baud=1115200 (...6972*165) sur vr41xx (tjrs machine mips...)
et quelques autres du meme gout
=> le debit de 6972 baud n'est donc pas tres standard, mais pas si bizarre que ca...
(faut pas oublier que pour une ligne serie a 115200 bauds il faut quand meme une horloge d'UART bien plus elevée, et que ce 115200 est lui meme le resultat d'un diviseur de frequence...
|
|
| |
Message édité 2 fois, la dernière par tempo le 27 février 2005 - 14 h 42. |
| |
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 27 février 2005 - 17 h 39 m 52 s |
|
|
une idée aussi serait peut-être de prendre 115200 et de regarder sur ça ... en effet j'ai juste besoin de recevoir donc ça pourrait aller ...
Comme je l'ai dit 6972 baud est le baud d'un crystal physique donc il se peut que d'autres gens l'aient utilisés auparavant
Merci pour les infos dans tous les cas
EDIT: je ne suis pas sur de l'orthographe du mot crystal
|
|
| |
Message édité 1 fois, la dernière par alitokmen le 27 février 2005 - 17 h 40. |
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 27 février 2005 - 17 h 52 m 27 s |
|
|
Le 27 février 2005 - 11 h 21, tempo a écrit :
(faut pas oublier que pour une ligne serie a 115200 bauds il faut quand meme une horloge d'UART bien plus elevée, et que ce 115200 est lui meme le resultat d'un diviseur de frequence...
|
Exactement... Reste juste à savoir comment y accéeder à partir de Visual Basic (même pas C++!!)
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
beavis
I hate the teletubbies...
Messages : 1 002 Inscrit le 18/09/03
Ville : Lyon 6e part-dieu
Non connecté
|
|
Posté le 28 février 2005 - 13 h 31 m 41 s |
|
|
EDIT: je ne suis pas sur de l'orthographe du mot crystal
|
Quartz
|
|
| |
www.bearstech.com
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 28 février 2005 - 23 h 34 m 21 s |
|
|
Le 28 février 2005 - 13 h 31, beavis a écrit :
EDIT: je ne suis pas sur de l'orthographe du mot crystal
|
Quartz 
|
Bonne idée ... sinon aller demander à une copine (pas à une copine copine sinon elle va en vouloir un - pas bien !!)
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 25 juin 2005 - 19 h 54 m 35 s |
|
|
Update: donc, sur http://www.codeproject.com/Purgatory/serial_port.asp j'ai trouvé un petit programme en C++ qui fait ceci...
Le but est donc de transformer ce petit C++ et Basic (par exemple en librarie à inclure)... Savez-vous comment procéder?
Merci
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|
alitokmen
Think ®
Messages : 3 687 Inscrit le 19/09/02
Ville : Grenoble, France || Ankara, Turquie
Non connecté
|
|
Posté le 22 juillet 2005 - 08 h 30 m 04 s |
|
|
( sujet résolu ... voir le premier post  )
|
|
| |
S. Ali Tokmen
http://ali.tokmen.com
http://contact.ali.tokmen.com
|